2013-05-29 4 views
4

Мне нужно включить проверку подлинности Windows из моего web.config, не устанавливая его в IIS.Аутентификация Windows в web.config в asp.net mvc4

У меня есть следующие элементы в web.config:

authentication mode="Windows 
    identity impersonate="true 

Однако проверка подлинности Windows не работает. Как решить эту проблему?

+0

Вам это нужно для работы в Visual Studio? IISExpress? –

+0

Какая версия IIS? –

+0

Мне нужно это для работы в iis 7.0 или 7.5 – zrabzdn

ответ

0

Если проверка подлинности Windows не установлена ​​на IIS, она не будет работать. Если он установлен параметр в web.config должно быть хорошо

7

Если этим вы имеете в виду запуска проекта из Visual Studio (IISExpress - не IIS), то вы можете попробовать сделать следующее:

В Visual Studio -> Нажмите на корень вашего проекта -> Нажмите F4, чтобы открыть панель свойств -> Посмотрите на «Аутентификация Windows» и отметьте как «Включено» -> Запустите проект.

2

К сожалению, для включения проверки подлинности Windows необходимо использовать IIS. Вы не можете сделать это только в Web.config. (По крайней мере, до IIS 8.5, текущая версия на этом посту.)

Это связано с тем, что элементы Web.config для включения проверки подлинности Windows (<system.webServer><security><authentication><windowsAuthentication>) могут быть определены только в applicationHost.config (C: \ Windows \ System32 \ Inetsrv \ Config).

5

Для IIS Экспресс

Вы можете установить его здесь. Вы также можете отключить анонимный доступ

Setting Windows auth for IIS Express

Для IIS

Я нашел, что это было необходимо, чтобы установить это под system.webServer

<system.webServer> 
    […] 
    <security> 
     <authentication> 
     <anonymousAuthentication enabled="false"/> 
     <windowsAuthentication enabled="true"/> 
     </authentication> 
    </security> 
    </system.webServer> 

Это делает почти то же самое, как Предложение @Dimitar - используйте IIS Manager для изменения настройки. Разница заключается в том, что файл конфигурация позволяет избежать ручного шага - но добавляет это следующее один:

Примечание:

По умолчанию IIS Функция делегирования блокируют некоторые из этих настроек (Basic & Windows, AUTH), поэтому вам нужно будет перейти в корень сервера IIS и включить их в число , чтобы прочитать/написать. Например .:

Feature delegation - Allowing read/write for auth section

Более подробное описание accessing Feature Delegation is here.

Смежные вопросы