我的应用程序需要Windows身份验证,并且需要回退到Forms身份验证。我用这种方式构建它:http://msdn.microsoft.com/en-us/library/ms972958.aspx并且一切正常。
所以基本上我根据Windows身份验证的结果为域创建表单身份验证cookie。只要浏览器保持打开状态,cookie就有效。我在Firefox或Chrome中没有问题,甚至在Windows XP机器上也没有问题。不幸的是,所有使用IE8的Windows7机器都会遇到同样的问题:当您尝试在大约30分钟不活动后刷新页面时会出现登录提示。即使我提供有效的Windows凭据,我仍然无法登录该应用程序。没有任何帮助,但关闭浏览器并重新启动它。然后我再次自动登录,只要我保持活跃状态就可以了。在30分钟不活动后 - 再次登录提示。经过一些研究后,我发现如果我使用开发人员工具(F12)删除auth cookie然后刷新,我会在没有提示的情况下自动登录(正如您对Windows身份验证所期望的那样)。
你们中有谁知道可能出现什么问题,我怎样才能让它在Windows7机器上正常工作?或者也许想看哪里看?是IIS问题(我在Windows 2003 Server上使用IIS6),客户端问题?是什么让Win7 IE8如此特别以至于它失败了?
答案 0 :(得分:0)
我不知道它为什么会过期,但我设法摆脱了这个问题。不知何故在Win7上的IE8上它无法继续,因为它尝试auth,但提供了旧的auth cookie。如果我清理请求中的cookie然后转发到登录页面,它就可以了。它不是问题的解决方案,但至少用户会重新进行身份验证......