Windows身份验证会话超时

5

我在我的web.config文件中有以下代码:

 <system.web>
    <authentication mode="Windows" />
        <sessionState timeout="300" />
  </system.web>

即使sessionstate超时设置为300,它也会在15-20分钟后过期,会导致session数据丢失。我的应用程序池和所有设置都正确,超时时间设置为300分钟。因此,我认为问题只出现在Windows身份验证上。其次,如果我禁用Windows身份验证并删除该行,一切都能正常工作(即我的session数据可以长时间保留)。可能的问题是什么呢?
提前感谢 :)

你应该先查看这个答案:https://dev59.com/2nRB5IYBdhLWcg3wXWG2 - Henry Troup
2个回答

10

确保在IIS中的应用程序池上未设置闲置超时时间。该设置的默认值为20分钟(这会导致混淆,不知道是 session 超时还是闲置超时引起的)并且在大多数情况下可以安全地设置为0,将其关闭。

要检查IIS中的空闲超时时间,请转到应用程序池的高级设置。

空闲超时是基于应用程序活动的滑动窗口,因此来自任何客户端的请求都将重置窗口。如果您的应用程序使用很少,那么您将经常遇到超时问题,导致应用程序池被重新启动。对用户的影响是任何已经激活的会话都将丢失,并且在应用程序空闲后走近它的用户必须等待其运行所有启动流程。


0

Windows身份验证超时:

如果用户登录到由Active Directory(域)控制的Windows环境中,有可能存在一个域策略,在用户不活动一段时间后,自动注销其“Windows会话”,出于安全原因。我认为你下一步应该与负责Windows网络的人员交谈,并将此事移交给他们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接