会话超时后,Internet Explorer不会提示进行Windows身份验证

时间:2011-07-20 15:02:49

标签: asp.net internet-explorer ssrs-2008 windows-authentication

我遇到SSRS Report Manager Web应用程序的问题(但我再次将其视为典型的ASP.Net应用程序问题)。

此应用程序配置为使用Windows身份验证,用户通常使用Internet Explorer访问应用程序。该应用程序还具有20分钟的会话超时设置。

问题(已被解释为信息安全问题:()是,如果用户在此应用程序上空闲超过20分钟,他仍然可以回来继续处理任何问题。他们说它是没有超时,因为他们没有得到登录提示。

当我运行Fiddler时,我观察到20分钟后的第一个请求,实际上是401,这意味着服务器拒绝了请求。之后,我相信,Internet Explorer会发布缓存的凭据。因此,登录提示不会出现。

我遇到的问题是这些 1.会话超时后,IE是否可以发送缓存凭据?任何Microsoft链接/参考? 2.在会话超时后,我们有什么方法可以强制登录对话框出现? (我从IE设置选项卡中删除并推荐选项卡但没有运气)

1 个答案:

答案 0 :(得分:0)

他们是一个非常good blog-post讨论了几个不同的选项,但最好的选择是让您的应用程序检测会话超时并发送401响应代码。

另一种(更好的)方法是不使用Windows身份验证,并实现自己的登录界面。这在ASP.NET中非常简单。

如果您无法控制您的应用程序,并且听起来没有,那么您可以做很多事情。

但是,这并不能解释您尝试通过强制用户手动登录以及在会话过期时重新登录来实现的目标。您可以通过强制用户手动登录您的网站来获得任何东西的唯一一次是,如果您希望他们将计算机解锁,那么无论如何您已经有了一个巨大的安全漏洞。这就像把车窗上的窗户卷起来一样,然后把门打开,钥匙放在车顶上。