Я недавно внедрил функцию в веб-приложении, где мы можем заблокировать доступ ко всему веб-сайту, если пользователь не является администратором (что в нашем случае означало, что учетная запись пользователя была членом определенной группы) в Active Directory).
Это было основано на двух вещах. Во-первых, все страницы в веб-приложении унаследованы не непосредственно от класса Page, а от пользовательского класса страниц в нашем веб-приложении. Во-вторых, у нас было такое значение в разделе appSettings файла web.config:
<add key="adminaccessonly" value="0" />
Пользовательский класс страницы будет проверять это значение при загрузке. Если бы он не был равен 0, он перенаправил бы на страницу (которая не наследовала тот же класс пользовательских страниц), сообщив пользователю, что «сайт сейчас недоступен». Если значение было 0, страница загружалась бы как обычно.
В этом приложении мы использовали это, чтобы иметь возможность переводить сайт в автономный режим при развертывании новой версии, давая нам некоторое время, чтобы убедиться, что все хорошо, прежде чем мы снова впустим пользователей.