Windows Authentication not working in ASP.NET MVC 5 web app

John Mills picture John Mills · Apr 24, 2014 · Viewed 17.5k times · Source

I have an ASP.NET MVC 5 app and am trying to enable Windows Authentication. The development machine is Windows Server 2008 R2, IIS Express 8.0, Visual Studio 2013 & .NET Framework 4.5.

I get a 404 Not Found error when ever I browse the app. The app enters a redirect loop with http://localhost:63455/Account/Login?ReturnUrl=%2F. Eventually the ReturnUrl ends up being very large as it gets appended to with each redirect.

My web.config looks like this:

  <system.web>
    <authentication mode="Windows"/>
  </system.web>

I've tried setting the Anonymous Authentication and Windows Authentication settings on the Development Server properties.

Development Server Properties

I've also tried adding the following appSettings:

<add key="autoFormsAuthentication" value="false"/>
<add key="enableSimpleMembership" value="false"/>

How can I get Windows Authentication working properly?

Answer

John Mills picture John Mills · Apr 28, 2014

The ConfigureAuth method in Startup.Auth.cs contained the following code which needed to be removed for Windows Authentication.

The code is used for Forms Authentication with OWIN.

        // 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);