У меня есть веб-сайт .Net с общедоступными и частными разделами. Частные разделы защищены аутентификацией форм .Net. Все работает нормально. Сайт работает в интегрированном режиме IIS.
Мой вопрос связан с моим сайтом QA / Test, на который мы вносим изменения до запуска. Я вообще не хочу, чтобы широкая публика или googlebot имели доступ к сайту QA. Даже к тем частям, для доступа к которым обычно не требуется аутентификация.
Сайт контроля качества должен быть доступен в Интернете, потому что мы хотим, чтобы люди из других компаний и т. Д. Могли видеть и тестировать изменения, прежде чем они появятся. Поэтому моя идея заключалась в том, чтобы поставить имя пользователя / пароль привратника перед всем сайтом. Пройдя через эту дверь, люди должны иметь доступ к «общедоступным» частям сайта. Для доступа к членской зоне им по-прежнему потребуется пройти через формы авторизации, как обычно.
Я попытался отключить анонимную аутентификацию и включить базовую аутентификацию, но получаю сообщение об ошибке, что не могу одновременно использовать аутентификацию на основе запроса 401 и перенаправленную аутентификацию. К сожалению, это именно то, что я хочу.
Я, вероятно, мог бы написать собственный HttpModule, но я бы предпочел просто сделать это со стандартными настройками IIS. У кого-нибудь есть идеи, как это решить?
IIS 7.x не поддерживает одновременную авторизацию форм и Windows. Я знаю, что это довольно странно.
Как насчет включения авторизации форм для всего сайта, включая публичные области? Вы можете дать другую страницу входа, объясняя, почему им нужно входить во все.
Или, используя URL Rewrite, у вас может быть список одобренных IP-адресов, которые разрешают вход только с действительного IP.