【问题标题】:Windows Authentication and Session timeoutWindows 身份验证和会话超时
【发布时间】:2026-01-26 04:30:02
【问题描述】:

我们正在使用 ASP.NET Web 应用程序,IIS 7.5 使用 Windows 身份验证。

  • 匿名、ASP.NET 模拟和表单身份验证均已关闭。

会话超时在应用程序中设置为 120

< sessionState timeout="120" />

应用程序池空闲超时设置为 180,回收在每天早上 3:00 完成(最低使用时间)。更新文件时不会发生这种情况。

用户正在通过 Chrome 或 IE 登录,并且工作正常,直到没有。

用户抱怨他们在几分钟不活动后突然被要求注销......有时。这不会一直发生。

我一直在查看日志、事件等,但找不到任何可以让我们知道为什么会发生这种情况的信息。

有人知道为什么会这样吗?

【问题讨论】:

标签: asp.net windows-authentication session-timeout


【解决方案1】:

确保未在 IIS 中的应用程序池上设置空闲超时。该设置的默认值为 20 分钟(这会导致对超时是由会话超时还是空闲超时触发的混淆)并且在大多数情况下可以安全地设置为 0,从而将其关闭。

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

空闲超时是基于应用活动的滑动窗口,因此来自任何客户端的请求都会重置窗口。如果您的应用程序使用量过轻,您会经常遇到超时,从而导致您的应用程序池循环使用。对用户的影响是,任何处于活动状态的会话都将丢失,并且用户在您的应用空闲后走到您的应用将不得不等待它运行其所有启动过程。

https://technet.microsoft.com/en-us/library/cc771956(v=ws.10).aspx

【讨论】: