Проверка подлинности IIS на разных серверах
-
09-06-2019 - |
Вопрос
Моя производственная среда включает в себя пару веб-серверов IIS 6, на одном из которых запущены устаревшие приложения .NET 1.1, а на другом - приложения .NET 2.0.Мы не можем установить .NET 2.0 вместе с 1.1 на одном компьютере, потому что это жестко регулируемая "Проверенная система", и повторная проверка стала бы бюрократическим кошмаром.
Веб-сайты на обоих серверах используют базовую аутентификацию с использованием учетных записей пользователей Active Directory.
Возможно ли, чтобы веб-приложение на сервере 1.1 безопасно перенаправляло пользователя на страницу, обслуживаемую на сервере 2.0, не требуя от пользователей повторной аутентификации?
Решение
Нет, потому что в этом сценарии вы не используете файлы cookie для аутентификации, поэтому ссылка ScaleOvenStove не поможет.
Базовая аутентификация отправляет регистрационную информацию в заголовках HTTP с каждым запросом, но это делает браузер, когда видит новый сервер, запрашивающий новый пароль.
(Или, действительно, как было предложено, измените аутентификацию в обеих системах для поддержки единого входа)
Другие советы
Чтобы достичь этого, вы могли бы внедрить решение для единого входа.
В этом решении один сервер будет вашим главным сервером аутентификации.Этот сервер будет отвечать за аутентификацию и создание файла cookie для пользователя.При перенаправлении на другой сервер (в том же домене) проверьте, существует ли файл cookie аутентификации, созданный сервером аутентификации, и если он существует и содержит действительные данные, автоматически выполните вход пользователя в систему.Убедитесь, что вы указали домен в формах authentication ticket и cookie, и тогда оба сервера, которые существуют в одном домене, смогут получить доступ к этому cookie.
Я бы включил единый вход в Google asp.net.Есть несколько способов достичь этого, но это определенно достижимо.
да, посмотрите здесь
http://weblogs.asp.net/scottgu/archive/2005/12/10/432851.aspx