IIS — возможна ли анонимная и Windows-аутентификация на одном сайте одновременно?
Добрый день.
Есть сайт на IIS 8.0 (Windows 2008 r2), к которому должен быть доступ как у анонимных пользователей, так и у доменных пользователей. Если включаем на сайте проверку подлинности Windows, то доменные пользователи заходят нормально, но анонимные пользователи не могут попасть на сайт. Если дополнительно включаем анонимную проверку подлинности, то зайти на сайт могут все, но доменные пользователи тоже считаются анонимными.
Простейшим решением выглядит завести два сайта (с проверкой подлинности windows / анонимной), но в этом случае получается две гиперссылки на один логический ресурс, что по некоторым причинам неприемлемо. Точка входа должна быть одна.
Достаточно будет разрешить этот вопрос для одной страницы сайта (Login.aspx, лежит в корне сайта). Для остальных страниц сайта приемлем анонимный доступ всех типов пользователей.
Интересно по какому критерию IIS должен понимать когда запрашивать имя/пароль, а когда не запрашивать?
Обработка запроса идет так
Клиент -> Сервер -> Нужна аутентификация? -> Нет -> Страница клиенту
Да -> Запрос имени и пароля у клиента-> Страницу клиенту
Если имя и пароль заданы в запросе, то шаг с запросом пропускается.
----------------
Нет таких проблем, которые мы себе не создадим - включите проверку подлинности, сделайте имя anonymous без пароля и вставляете его в форму входа по-умолчанию. Те кому нужно просто зайти - зайдут заменив имя и пароль, те кому можно так - проста нажмут Enter.
Насколько я понимаю Ваше решение написано на C# c использованием ASP.Net
Рекомендую изучить возможности настройки вашего WebConfig. Так есть возможность добавить соответствующие настройки с указанием возможности доступа к разным страницами или анонимно или после аутентификации, а также для отдельных пользователей. Вот курс ссылка с ASP.NET