0

我有一个应用程序需要 Windows 身份验证并回退到表单身份验证。我以这种方式构建它:http: //msdn.microsoft.com/en-us/library/ms972958.aspx,一切正常。

所以基本上我根据 Windows 身份验证的结果为域创建表单身份验证 cookie。只要浏览器保持打开状态,cookie 就有效。我在 Firefox 或 Chrome 中没有问题,甚至在 Windows XP 机器上的 IE8 也没有。不幸的是,所有带有 IE8 的 Windows7 机器都遇到了同样的问题:当您在大约 30 分钟不活动后尝试刷新页面时,会出现登录提示。即使我提供了有效的 Windows 凭据,我仍然无法登录应用程序。没有什么帮助,但关闭浏览器并重新启动它。然后我再次自动登录,只要我保持活跃就可以了。30 分钟不活动后 - 再次登录提示。经过一番研究,我发现如果我使用开发人员工具(F12)删除身份验证cookie然后刷新,

你们中的任何人都知道会出现什么问题,我怎样才能让它在 Windows7 机器上正常工作?或者也许关于在哪里看的想法?是 IIS 问题(我在 Windows 2003 Server 上使用 IIS6),还是客户端问题?是什么让 Win7 IE8 如此特别以至于它失败了?

4

1 回答 1

0

我不知道它为什么会过期,但我设法摆脱了这个问题。不知何故,在 Win7 上的 IE8 上它无法继续,因为它尝试进行身份验证,但提供了旧的身份验证 cookie。如果我清理请求中的 cookie,然后转发到登录页面,它就可以工作。这不是问题的解决方案,但至少用户得到了重新认证......

于 2012-12-14T12:45:15.943 回答