Переопределение правил авторизации в machine.config

У меня есть следующий код, который отлично работает в web.config, но не работает при использовании в machine.config:

<authorization> 
    <allow roles="admins"/>
    <deny users="*"/>
</authorization>

Я использую IIS Express, поставляемый с Visual Studio 2015.
Код находится в разделе configuration/system.web.

Я проверил, что использую правильный файл machine.config, добавив недопустимую конфигурацию и вызвав сбой приложения.

Причина, по которой я хочу сделать это в machine.config, заключается в том, что у нас есть тестовый сервер с множеством приложений. Все приложения должны быть защищены паролем/не доступны для поисковых систем, неавторизованных пользователей и т.д.

Иногда разработчики забывают правильно настроить web.config, и мы хотели бы предотвратить это, переопределив правила авторизации на уровне сервера.

Любая помощь будет принята с благодарностью!


person šljaker    schedule 23.06.2016    source источник


Ответы (1)


В папке machine.config вы можете найти файл web.config. Закинь туда настройки.

person Lex Li    schedule 23.06.2016
comment
Знаете ли вы, можно ли установить правила авторизации для определенного пути, как в обычном web.config? Я хочу запретить доступ всем неавторизованным пользователям, но location path=my-path должен быть доступен всем. Похоже, это не работает в файле web.config, который находится в той же папке, что и machine.config. Спасибо! - person šljaker; 24.06.2016
comment
@šljaker, вы можете попробовать поместить тег местоположения в %windir%\system32\inetsrv\config\applicationHost.config - person Lex Li; 24.06.2016