Вопрос

Моя производственная среда включает в себя пару веб-серверов 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.Есть несколько способов достичь этого, но это определенно достижимо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top