Я пытаюсь настроить проверку подлинности Windows в своем веб-приложении, но не могу заставить его работать. Приложение работает на моем компьютере (Windows 7 x64), я нахожусь в доменной сети, и приложение работает на реальном IIS, а не на веб-сервере Cassini.
Что я сделал до сих пор:
- Включить базовую аутентификацию в IIS. (Я также попытался включить проверку подлинности Windows)
- Web.config
<authentication mode="Windows"></authentication>
- Я пробовал с и без
<identity impersonate="true"/>
- Я поместил
AuthorizeAttribute
в свои контроллеры.
- Я пробовал также исправление
<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, который обращается к веб-приложению. Как мне это сделать?