诊断登录重定向循环

时间:2014-10-03 17:12:24

标签: c# asp.net-mvc iis asp.net-web-api asp.net-mvc-5

我的ISP最近在我的网站上存在多个权限问题,这些问题托管在共享的IIS框上。

我的MVC5应用程序在默认页面上没有需要身份验证的代码,但有些区域可以执行

我已将web应用程序发布到子目录“test”,当我尝试加载任何[AllowAnonymous]页面时,我正在获得无限重定向循环,结果给出了404.

http://www.mywebsite.co.uk/test/Account/Login?ReturnUrl=%2Ftest%2FAccount%2FLogin%3FReturnUrl%3D%252Ftest%252FAccount%252FLogin%253FReturnUrl%253D%25252Ftest%25252FAccount%25252FLogin%25253FReturnUrl%25253D%2525252Ftest%2525252FAccount%2525252FLogin%2525253FReturnUrl%2525253D%252525252Ftest%252525252FAccount%252525252FLogin%252525253FReturnUrl%252525253D%25252525252Ftest%25252525252FAccount%25252525252FLogin%25252525253FReturnUrl%25252525253D%2525252525252Ftest%2525252525252FAccount%2525252525252FLogin%2525252525253FReturnUrl%2525252525253D%252525252525252Ftest%252525252525252FAccount%252525252525252FLogin%252525252525253FReturnUrl%252525252525253D%25252525252525252Ftest%25252525252525252FAccount%25252525252525252FLogin%25252525252525253FReturnUrl%25252525252525253D%2525252525252525252Ftest%2525252525252525252FAccount%2525252525252525252FLogin%2525252525252525253FReturnUrl%2525252525252525253D%252525252525252525252Ftest%252525252525252525252FAccount%252525252525252525252FLogin%252525252525252525253FReturnUrl%252525252525252525253D%25252525252525252525252Ftest%25252525252525252525252FAccount%25252525252525252525252FLogin%25252525252525252525253FReturnUrl%25252525252525252525253D%2525252525252525252525252Ftest%2525252525252525252525252FAccount%2525252525252525252525252FLogin%2525252525252525252525253FReturnUrl%2525252525252525252525253D%252525252525252525252525252Ftest%252525252525252525252525252FAccount%252525252525252525252525252FLogin%252525252525252525252525253FReturnUrl%252525252525252525252525253D%25252525252525252525252525252Ftest%25252525252525252525252525252FAccount%25252525252525252525252525252FLogin%25252525252525252525252525253FReturnUrl%25252525252525252525252525253D%2525252525252525252525252525252Ftest%2525252525252525252525252525252FAccount%2525252525252525252525252525252FLogin%2525252525252525252525252525253FReturnUrl%2525252525252525252525252525253D%252525252525252525252525252525252Ftest%252525252525252525252525252525252FAccount%252525252525252525252525252525252FLogin%252525252525252525252525252525253FReturnUrl%252525252525252525252525252525253D%25252525252525252525252525252525252Ftest%25252525252525252525252525252525252Fhome%25252525252525252525252525252525252Ffeedback

(我认为这404是查询字符串太长的结果)

如果我将网络发布到test2,那么“相同”的代码可以正常运行。

我已经尝试从_layout.cshtml中删除项目以查看我是否可以发现导致此问题的调用但是在删除所有项目后我仍然会收到此错误。

有没有人有什么建议可以用来诊断问题所在?

1 个答案:

答案 0 :(得分:2)

通常这就是问题,登录页面不允许未经授权的用户:你得到无限循环 - 未经授权的用户不允许看到登录页面,因此他被重定向到登录页面以获得授权。

因此,要么在控制器中登录操作需要[AllowAnonymous]属性,要么添加到web.config:

 <location path="/test/account/login">
  <system.web>
     <authorization>
        <allow users="?"/>
     </authorization>
  </system.web>
 </location>