这个网页有一个重定向循环asp.net mvc4

Moj*_*que 5 authentication cookies routes asp.net-mvc-4

我有一个启动类,代码如下

 public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType="ApplicationCookie",
                LoginPath = new Microsoft.Owin.PathString("/auth/login")
            });
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我运行我的项目时

在/网页AUTH /登录资讯?RETURNURL =%2Fauth%2Flogin%3FReturnUrl%3D%252Fauth%252Flogin%253FReturnUrl%253D%25252Fauth%25252Flogin%25253FReturnUrl%25253D%2525252Fauth%2525252Flogin%2525253FReturnUrl%2525253D%252525252Fauth%252525252Flogin%252525253FReturnUrl%252525253D %25252525252Fauth%25252525252Flogin%25252525253FReturnUrl%25252525253D%2525252525252Fauth%2525252525252Flogin%2525252525253FReturnUrl%2525252525253D%252525252525252Fauth%252525252525252Flogin%252525252525253FReturnUrl%252525252525253D%25252525252525252Fauth%25252525252525252Flogin%25252525252525253FReturnUrl%25252525252525253D%2525252525252525252Fauth%2525252525252525252Flogin%2525252525252525253FReturnUrl%2525252525252525253D%252525252525252525252Fauth%252525252525252525252Flogin%252525252525252525253FReturnUrl%252525252525252525253D%25252525252525252525252Fauth %25252525252525252525252Flogin%25252525252525252525253FReturnUrl%25252525252525252525253D%2525252525252525252525252Fauth%2525252525252525252525252Flogin%25252525252 52525252525253FReturnUrl%2525252525252525252525253D%252525252525252525252525252Fauth%252525252525252525252525252Flogin%252525252525252525252525253FReturnUrl%252525252525252525252525253D%25252525252525252525252525252Fauth%25252525252525252525252525252Flogin%25252525252525252525252525253FReturnUrl%25252525252525252525252525253D%2525252525252525252525252525252Fauth%2525252525252525252525252525252Flogin%2525252525252525252525252525253FReturnUrl%2525252525252525252525252525253D%252525252525252525252525252525252Fauth%252525252525252525252525252525252Flogin%252525252525252525252525252525253FReturnUrl%252525252525252525252525252525253D%25252525252525252525252525252525252Fauth%25252525252525252525252525252525252Flogin%25252525252525252525252525252525253FReturnUrl%25252525252525252525252525252525253D%2525252525252525252525252525252525252Fauth%2525252525252525252525252525252525252Flogin%2525252525252525252525252525252525253FReturnUrl% 2525252525252525252525252525252525253D%252525252525252525252525 252525252525252Fauth%25252525252525252525252525252525252525252Flogin%25252525252525252525252525252525252525253FReturnUrl%252525252525252525252525252525252525253D%25252525252525252525252525252525252525252FF导致了太多的重定向.清除此站点的cookie或允许第三方cookie可以解决问题.如果没有,它可能是服务器配置问题,而不是您的计算机的问题.

我清除了我的cookie,但仍然保持不变.

小智 1

我同意@StephenMuecke 的观点,这是来自无限的重定向循环。

如果您尝试登陆的页面需要身份验证才能查看,可以通过[Authorize] 控制器类或:

[Authorize]
public class AccountController:Controller
{
Run Code Online (Sandbox Code Playgroud)

或者在控制器 ActionResult 处:

[Authorize]
public ActionResult Index
Run Code Online (Sandbox Code Playgroud)

这会将用户重定向到登录页面。

如果这不允许匿名身份验证,则用户无法在未登录的情况下登陆该页面。

[Authorize]
public ActionResult Login(string message, string returnUrl)
{
Run Code Online (Sandbox Code Playgroud)

因此,应用程序不断将用户重定向到登录页面,直到出现某种类型的溢出。

你需要使用这个:

[AllowAnonymous]
public ActionResult Login(string message, string returnUrl)
{
Run Code Online (Sandbox Code Playgroud)

ReturnUrl=%2Fauth%2Flogin%3FReturnUrl%3D%252Fauth%252Flogin%253FReturnUrl%253D%25252Fauth%

返回url需要认证,所以登录,需要认证..等等。

同样的原则适用于您的整个项目。