Infinite redirect loop for Basic or Windows authentication?

前端 未结 5 571
长发绾君心
长发绾君心 2021-02-01 23:03

I am working on a new ASP.NET application. On IIS8, if I disable Anonymous access and enable Basic or Windows authentication, it goes into an infinite redirect loop and lands at

相关标签:
5条回答
  • 2021-02-01 23:43

    Check "idle time out" minuets in your IIS application pool , advanced settings. if its not greater than your system session time out , set it to a number which is more.

    for example if you have set session time out value to 30 , make "idle time out" minuets in your IIS application pool to something more than 30+. default "idle time out" minuets in your IIS application pool is normally 20.

    0 讨论(0)
  • 2021-02-01 23:47

    May be in your machine.config file or in your global web.config, forms authentication is enabled with this url as authentication page.

    0 讨论(0)
  • 2021-02-01 23:48

    By disable the anonymous access the page that makes the login is not allowed to be view with out authenticate first.

    So the system is try to authenticate the user by redirect him on the login page, but because can not allowed either the login page, is felt on this loop for ever.

    0 讨论(0)
  • 2021-02-01 23:48

    I had the same problem but I fixed it simply by adding [AllowAnonymous] before my Login Controller. It might not work for everyone, but maybe it was just this.

    0 讨论(0)
  • 2021-02-01 23:54

    I fixed it. First thing that you have to do is enable Windows auth and disable anonymous on both IIS and your Visual Studio project (select the root project node in Solution Explorer and in the Property window to disable Anonymous access and enable Windows auth). Next, add the following line to your web.config:

    <system.webServer>
      <modules>
        <remove name="FormsAuthenticationModule" />
        <remove name="FormsAuthentication" />
      </modules>
    </system.webServer>
    

    Next open up App_Start/Startup.Auth.cs and comment out (or delete) the following:

            // Enable the application to use a cookie to store information for the signed in user
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login")
            });
            // Use a cookie to temporarily store information about a user logging in with a third party login provider
            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
    

    Next, publish to your webserver and you should be able to login without that redirect bug!

    0 讨论(0)
提交回复
热议问题