这确实是一个奇怪的问题...
我有一个使用FormsAuthentication处理用户访问权限的ASP.net 4.0,C#网站,其中包括一个登录页面。当会话超时或需要重新登录时,该网站中的代码会将用户重定向回登录页面。这些都是非常基本的操作,我已经做过十几次了。
我知道整个流程都在工作,因为我已经能够通过VS2010登录到该网站,并在尝试的每个浏览器上运行。当它在Chrome、Firefox、Safari(Mac)和两个手机浏览器上运行时,它也完全正常。唯一出现问题的是Internet Explorer。
现在,这个问题有点难以调试,考虑到它在本地的IE上可以工作但在服务器上不能。它还在服务器上的其他浏览器中工作,这也排除了服务器配置问题。
为了尝试找出可能出错的地方,我在我的FormsAuthentication.RedirectToLogin("WhateverPage=WhateverSectionOfCode")行中添加了一个查询字符串。问题是,当我在IE中运行站点时,它从未附加该查询字符串,这导致我认为它从未命中任何那些"RedirectToLogin"行。
我知道它进行了身份验证,因为更新数据库中的最后登录时间戳的代码仅在用户经过身份验证时才会触发。看起来"RedirectFromLogin"行确实可以找到web.config中的正确条目...它可能确实在重定向我,但即使它这样做,它总是将我弹回到登录屏幕。
我已经检查了所有可能导致此问题的非常基本的ID-10T错误(呵呵),如增加的安全设置、禁用的Cookie等,但我在多台机器上得到了相同的结果。
我真的不知道下一步该检查什么。我已经让其他两组人看过代码,但他们无法找出为什么会发生这种情况的原因。如果有人有任何建议,我很乐意听取。
谢谢!
我有一个使用FormsAuthentication处理用户访问权限的ASP.net 4.0,C#网站,其中包括一个登录页面。当会话超时或需要重新登录时,该网站中的代码会将用户重定向回登录页面。这些都是非常基本的操作,我已经做过十几次了。
我知道整个流程都在工作,因为我已经能够通过VS2010登录到该网站,并在尝试的每个浏览器上运行。当它在Chrome、Firefox、Safari(Mac)和两个手机浏览器上运行时,它也完全正常。唯一出现问题的是Internet Explorer。
现在,这个问题有点难以调试,考虑到它在本地的IE上可以工作但在服务器上不能。它还在服务器上的其他浏览器中工作,这也排除了服务器配置问题。
为了尝试找出可能出错的地方,我在我的FormsAuthentication.RedirectToLogin("WhateverPage=WhateverSectionOfCode")行中添加了一个查询字符串。问题是,当我在IE中运行站点时,它从未附加该查询字符串,这导致我认为它从未命中任何那些"RedirectToLogin"行。
我知道它进行了身份验证,因为更新数据库中的最后登录时间戳的代码仅在用户经过身份验证时才会触发。看起来"RedirectFromLogin"行确实可以找到web.config中的正确条目...它可能确实在重定向我,但即使它这样做,它总是将我弹回到登录屏幕。
我已经检查了所有可能导致此问题的非常基本的ID-10T错误(呵呵),如增加的安全设置、禁用的Cookie等,但我在多台机器上得到了相同的结果。
我真的不知道下一步该检查什么。我已经让其他两组人看过代码,但他们无法找出为什么会发生这种情况的原因。如果有人有任何建议,我很乐意听取。
谢谢!