Подтвердить что ты не робот

Аутентификация Windows не работает в веб-приложении ASP.NET MVC 5

У меня есть приложение ASP.NET MVC 5, и я пытаюсь включить проверку подлинности Windows. Машина разработки - Windows Server 2008 R2, IIS Express 8.0, Visual Studio 2013 и .NET Framework 4.5.

Я получаю ошибку 404 Not Found, когда я просматриваю приложение. Приложение входит в цикл перенаправления с http://localhost: 63455/Account/Login? ReturnUrl =% 2F. В конце концов, ReturnUrl заканчивается очень большим, так как он добавляется к каждой переадресации.

Мой web.config выглядит следующим образом:

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

Я попытался установить параметры Анонимная аутентификация и Windows Authentication в свойствах сервера разработки.

Development Server Properties

Я также попытался добавить следующий appSettings:

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

Как я могу заставить Windows Authentication работать правильно?

4b9b3361

Ответ 1

Метод ConfigureAuth в Startup.Auth.cs содержит следующий код, который необходимо удалить для Аутентификации Windows.

Код используется для Аутентификации форм с 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);

Ответ 2

Просто голова. Вам не нужно полностью удалять аутентификацию cookie, хотя я удалил externalsignincookie. Взгляните на мой проект на https://github.com/vishnu4/AspNetMVC5WinAuth, где я использую OWIN и MVC5 для использования проверки подлинности Windows. Надеюсь, это поможет кому-то еще попытаться заставить его работать.