Аутентификация 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 работать правильно?
Ответы
Ответ 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. Надеюсь, это поможет кому-то еще попытаться заставить его работать.