Может ли SiteB ограничивать доступ только для пользователей, прошедших аутентификацию на сайте A? Как? - PullRequest
3 голосов
/ 17 апреля 2010

Меня недавно попросили оценить работу, которая предоставит аутентифицированным пользователям доступ к нашему сайту. Дело в том, что пользователь должен пройти аутентификацию на другом сайте и домене, чем тот, который мы размещаем.

Пользователь проходит аутентификацию на SiteA.com, и ему предоставляется ссылка на наш сайт, SiteB. Только пользователи, прошедшие проверку подлинности на Сайте А, имеют доступ к SiteB.com.

Я пока не знаю, какую систему аутентификации использует SiteA, но я подумал, что я бы попросил у сообщества несколько начальных мыслей. Это вообще возможно? Что мне нужно учитывать?

Спасибо

1 Ответ

2 голосов
/ 17 апреля 2010

Единая регистрация возможна при использовании Аутентификация с помощью форм . Вот шаги:

  1. Настройка обоих сайтов для проверки подлинности и настройки форм одинаковые машинные ключи (это важно для шага 4).
  2. Пользователь аутентифицируется на SiteA.com, и для него на этом сайте выдается файл cookie.
  3. Подделайте ссылку на SiteA, которая отправит форму, содержащую значение cookie для аутентификации, в скрытом поле на страницу на SiteB.com, которая не требует аутентификации (убедитесь, что вы публикуете только по HTTPS).
  4. Страница на SiteB.com считывает значение опубликованного токена, расшифровывает его и создает файл cookie для аутентификации для SiteB.com, используя FormsAuthentication.GetAuthCookie
  5. Перенаправление на аутентифицированную часть SiteB.com
...