小编use*_*255的帖子

FormsAuthentication在除IE之外的每个浏览器中工作

这肯定是一个奇怪的...

我有一个ASP.net 4.0,C#网站,它有一个使用FormsAuthentication处理用户访问的登录页面.整个站点中还有代码,只要会话超时或者需要再次登录的其他内容,就会将用户引导回登录页面.这是我十几次以前做过的所有基本的东西.

我知道整个过程正在运行,因为我已经能够在我尝试过的每个浏览器上登录通过VS2010运行的站点.当它使用Chrome,Firefox,Safari(Mac)和两个手机浏览器坐在开发服务器上时,它也可以正常工作.我唯一遇到问题的是Internet Explorer.

现在,这个有点难以调试,因为它在本地IE中工作但在服务器上不工作.它也适用于服务器上的其他浏览器这一事实也排除了服务器配置问题.

我尝试找出它可能出错的地方是在我的FormsAuthentication.RedirectToLogin("WhateverPage = WhateverSectionOfCode")中添加一个查询字符串; 尝试解决这个问题.问题是,当我在IE中运行该站点时,它永远不会附加查询字符串,这使我相信它永远不会遇到任何"RedirectToLogin"行.

我知道这验证,因为在更新数据库中的上次登录时间标记的代码只有在用户通过认证触发.看起来好像"RedirectFromLogin"行已经出去并在web.config中找到了正确的条目......它实际上可能正在重定向我,但即使它确实如此,它总是会将我反弹回登录屏幕.

我已经完成了可能导致这种情况的所有非常基本的ID-10T错误(heh):提高了安全设置,禁用了cookie等,但我在多台机器上得到了相同的结果.

我真的有点难以接受下一步的检查.我已经对代码另外两套的眼睛,但他们无法拿出任何理由,为什么这是怎么回事.如果有人对可能发生的事情有任何建议,我很乐意听到他们的意见.

谢谢!

c# asp.net internet-explorer forms-authentication

7
推荐指数
1
解决办法
3213
查看次数