【问题标题】:ASP.NET MVC 3 - Redirect Loop Only on Certain BrowsersASP.NET MVC 3 - 仅在某些浏览器上重定向循环
【发布时间】:2013-11-23 09:35:29
【问题描述】:

全部,

我看到有人尝试在 IE 11 和 Chrome for iPad 上进行身份验证时出现重定向循环。很奇怪,重定向循环是特定于浏览器的,但似乎确实如此。

我们通过使用 cookie 的 .NET 表单身份验证对用户进行身份验证。此站点在 .NET Framework 4.0 上运行

基本上,我们的身份验证过程涉及 3 次调用:

Redirect(url)

并且大部分时间都在工作。

这可能是浏览器定义文件没有 IE 11 和其他一些平板电脑浏览器的问题吗?

我真的不知道在某些浏览器中会导致重定向循环的原因。

热烈欢迎任何想法和/或建议!

谢谢

【问题讨论】:

  • 您使用什么进行身份验证? Cookie,NTLM?
  • 我们通过使用 cookie 的 .NET 表单身份验证对用户进行身份验证。

标签: c# asp.net-mvc-3 redirect http-redirect


【解决方案1】:

您是否在 web.config 中设置了表单以强制使用 cookie? (cookieless="UseCookies")

我见过过时的浏览器定义导致 ASP.NET 认为无法使用 cookie 的情况。您可以在一个简单的应用程序中轻松测试它。有一次甚至不支持 IE10(因为 ASP.NET 仅针对 IE1..IE9 进行了测试),但有一个 Windows 更新。

Cookie 也可能因多个浏览器策略而被拒绝,例如无效的主机名,例如如果它包含下划线。

【讨论】:

  • 在 web.config 中的任何地方都没有 cookieless="..." 的条目。我认为“UseCookies”是默认行为?我应该把它放在哪里?在 标签中?
  • 谢谢,我会尝试并报告
  • 似乎通过将“cookieless=UseCookies”属性添加到 标记来修复它。谢谢
  • 根据文档的默认表单设置是设备配置文件。你应该跟进,因为它也可能导致其他问题。例如,会话 cookie 可能会丢失。 ASP.NET 甚至可能认为浏览器缺少 JavaScript 支持,不向浏览器发送 JS 脚本。
猜你喜欢
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
  • 2018-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多