У меня есть приложение на MVC 5 с аутентификацией формы, размещенное на сервере Windows (2012), которое находится на Azure. Также этот сервер добавлен в домен.
Мой клиент попросил меня использовать учетные данные Windows для аутентификации пользователя вместо аутентификации по форме.
Итак, я изменил свою запись web.config для аутентификации следующим образом:
<system.web>
<authentication mode="Windows"/>
<identity impersonate="true" />
</system.web>
и
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true" useKernelMode="true">
<providers>
<clear />
<add value="NTLM" />
<add value="Negotiate" />
</providers>
<extendedProtection tokenChecking="Allow" />
</windowsAuthentication>
<anonymousAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
Остальные настройки IIS v-8.5) следующие:
- Бассейн Apllication: Classic с 4.0
- .Net версия в коде: 4.5
- Проверка подлинности Windows включена
- Анонимная аутентификация отключена
- Проверка подлинности формы отключена
Тем не менее, я не могу получить электронную почту или имя пользователя Windows в любом из следующих вариантов:
uname=User.Identity.Name;
uname=UserPrincipal.Current.EmailAddress;
uname= Environment.UserName;
Чего мне не хватает?