Назад | Перейти на главную страницу

Отключить проверку подлинности в подпапках приложения ASP.NET с помощью проверки подлинности Windows

Можно ли отключить проверку подлинности 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, поэтому вам необходимо убедиться, что у вас нет конфликтующих правил.