2012-12-19 67 views
1

我有一个ASP.NET MVC 3应用程序使用Windows身份验证,在IIS 7.5中配置。它会在第一次加载 页面时提示用户输入其Windows凭据。Windows身份验证会话状态 - ASP.Net MVC 3

现在,我希望在XX分钟内有“会话”超时,以便页面 将再次提示他们输入凭据(如果超时已过)。

我已经尝试在我想保护的页面的page_load方法 中设置“Session.timeout = XX”。

我注意到Global.Asax中的“Session_End”方法确实触发了,但 身份验证票证即使在会话有 结束后也显示为“保持有效”。

有没有办法通过更改Web.Config中的配置或通过IIS来强制页面再次提示Windows Credentials 指定的超时时间?

请让我知道。

回答

0

使用Windows身份验证时,您无法控制允许的会话持续时间,因为这是身份验证协议(Kerberos)的一部分。有ways and workarounds,但没有一个是直截了当的。

看来迫使客户端document.execCommand("ClearAuthenticationCache");可能会最接近您的需求。

0

据我所知,有没有简单的方法来实现这一点。我已经阅读过人们试图手动控制401s发送时的情况,但是从我记忆中,我还没有找到任何可靠的解决方案。