Windows Authentication not working in ASP.NET MVC

2019-03-18 09:29发布

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?

2条回答
贪生不怕死
2楼-- · 2019-03-18 09:58

Just a heads up. You don't HAVE to remove cookie authentication entirely, although i did remove the externalsignincookie. Take a look at my project at https://github.com/vishnu4/AspNetMVC5WinAuth where I'm using OWIN and MVC5 to use windows authentication. Hopefully this helps anyone else trying to get it to work.

查看更多
爱情/是我丢掉的垃圾
3楼-- · 2019-03-18 10:06

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);
查看更多
登录 后发表回答