Если вы развертываете одно и то же веб-приложение в различных средах, то вы можете рассмотреть возможность использования преобразований web.config.При таком подходе у вас может быть специальный файл для каждой среды, который будет принимать файл разработки по умолчанию web.config и изменять только определенные значения, в вашем случае тег <authorization>
(или, возможно, также <connectionStrings>
или<appSettings>
тегов, если хотите).
В Visual Studio это выглядит так:
Это работает только для проектов веб-приложений,не для проектов веб-сайтов () и только в Visual Studio 2010 и более поздних версиях. *
Сначала необходимо создать конфигурацию решения для каждой среды.В главном меню выберите Build > Configuration Manager
.Здесь вы можете управлять каждой конфигурацией.По умолчанию у вас будет Debug и Release , вы можете добавить, например, конфигурации UAT и Production для вашего решения.
Затем вы можете щелкнуть правой кнопкой мыши файл web.config в своем проекте веб-приложения и щелкнуть Добавить преобразования конфигурации , и вы найдете новое преобразование для каждой конфигурации:
web.config
web.Debug.config
web.Production.config
web.Release.config
web.UAT.config
Теперь вы должны написать преобразование, в вашем случае это будет выглядеть так (для web.UAT.config):
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<authorization xdt:Transform="Replace">
<allow roles="USER-ACCEPTANCE-TEST" />
<deny users="*" />
</authorization>
<system.web>
</configuration>
Обратите внимание, как мы указываем преобразованию заменить тег <authorization>
полностью.Это произойдет при публикации веб-приложения (щелкните правой кнопкой мыши и выберите Опубликовать ... ), например, в папке на рабочем столе для передачи по FTP на сервер UAT.
См.здесь для некоторых учебных пособий: