Можно ли отключить проверку подлинности Windows в одной или нескольких подпапках приложения ASP.net с помощью проверки подлинности Windows?
Например:
Веб-сайт содержит несколько других папок, которые содержат части всего приложения: / frontend, / backend, / login.
Папка bin находится на том же уровне, что и эта подпапка, то есть в корне веб-сайта.
Все эти подпапки содержат страницы, использующие двоичные файлы, которые находятся в папке bin в корне веб-сайта.
Пользователь должен вводить учетные данные Windows при посещении страницы в внутренней папке, но не при посещении страницы в папке входа или в папке внешнего интерфейса.
Я использую IIS7
Любые идеи?
Нашел решение:
Скорректировал файл applicationHost.config и изменил "overrideModeDefault" на "Разрешить" для записей раздела anonymousAuthentication и windowsAuthentication.
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<section name="windowsAuthentication" overrideModeDefault="Allow" />
Добавлены теги местоположения в web.config для каждой папки / файла, которые необходимо исключить из проверки подлинности Windows.
<location path="pathToDirOrFile">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</location>
Убедитесь, что каждая из этих папок содержит отдельный файл web.config, который отключает олицетворение личности.
<configuration>
<system.web>
<identity impersonate="false" />
</system.web>
</configuration>
Вы можете управлять аутентификацией с помощью тега местоположения в файле web.config или поместить другой файл web.config в соответствующую подпапку, указав требуемые параметры.
Вы также можете контролировать доступ к ресурсам (папкам или отдельным файлам) в IIS, поэтому вам необходимо убедиться, что у вас нет конфликтующих правил.