Проверка подлинности Windows в MVC 3 - PullRequest
4 голосов
/ 02 сентября 2011

Я пытаюсь настроить проверку подлинности Windows в своем веб-приложении, но не могу заставить его работать. Приложение работает на моем компьютере (Windows 7 x64), я нахожусь в доменной сети, и приложение работает на реальном IIS, а не на веб-сервере Cassini.

Что я сделал до сих пор:

  1. Включить базовую аутентификацию в IIS. (Я также попытался включить проверку подлинности Windows)
  2. Web.config <authentication mode="Windows"></authentication>
  3. Я пробовал с и без <identity impersonate="true"/>
  4. Я поместил AuthorizeAttribute в свои контроллеры.
  5. Я пробовал также исправление <add key="autoFormsAuthentication" value="false"/> для бета-версии MVC3.

Что я получил:

Я могу открыть страницу, на которой нет AuthorizeAttribute, я поставил точку останова, и вот что я получаю в различных свойствах, связанных с аутентификацией:

System.Security.Principal.WindowsIdentity.GetCurrent().Name
"IIS APPPOOL\\ASP.NET v4.0 DefaultAppPool"
Environment.UserDomainName
"IIS APPPOOL"
Environment.UserName
"ASP.NET v4.0 DefaultAppPool"
User.Identity.Name
""

Конечно, я не могу открыть ни одну страницу с атрибутом [Authorize].

Единственное, что мне нужно, - это получить имя пользователя Windows, который обращается к веб-приложению. Как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 05 сентября 2011

Сработало после перезагрузки компьютера. Понятия не имею, что случилось.

1 голос
/ 18 января 2012

У меня была такая же проблема, она была решена после того, как я добавил следующий тег в мой <appSettings> в корне web.config.

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

вместе с этим

<add key="autoFormsAuthentication" value="false"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...