Authentication sharing
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 18.10.08 03:36
Оценка: 16 (2)
#Имя: FAQ.asp.net.AuthenticationSharing
Здравствуйте, Aikin, Вы писали:

>Есть набор одинаковых вэб приложений (20+ штук). Кажый сайт принадлежит отдельной компании, но пользователи на них одни и те же.

>Вернее даже не так: один и тот же пользователь может иметь доступ к разным инстанциям (приложениям) исползуя одно и то же имя и пароль.
>Это достигается существованием сайта-координатора (Директория) который занет какой пользователь имеет доступ к какой инстанции, предоставляет сводную информацию со всех инстанций пользователей, синхронизирует изменения в профиле пользователя со всеми инстанциями.

>Так как сайты представляют собой разные приложения, то у них разные сессии (сделать шаред сессию не предлагать -- поломается все нафик). Так что если пользователь залогинен на сайте1, то на сайте2 ему нужно все равно вводить пароль для входа. Вот это-то и бесит пользователей.


Мдя, у меня была похожая задача, только решение с куками не подходило принципиально — ибо сайты находились в разных доменах первого уровня (.ca, .com. net). Как сделалив итоге:

Вынесли форму авторизации в отдельное приложение. При заходе на сайт он редиректит на авторизацию, там проводится авторизация и браузер возвращается на исходный сайт вместе с токеном сессии. Затем этот токен кэшируется в куке, и при повторном заходе сервер через веб-сервис идёт на сервер авторизации и проверяет валидность токена. Если токен невалидный, то юзера отправляют на авторизацию, если валиден — ну тут и так понятно Сервер авторизации также кэширует токен, и при заходе на другой сайт проекта, будучи авторизованным на первом, приложение авторизации сразу отправляет юзера обратно с токеном.

Кстати, подобным образом работает всем известная Microsoft Passpost. По-моему, решение гораздо более надёжное и изящное, чем шаманство с куками, которое отвалится сразу же, как только возникнет необходимость накрыть SSO (Single Sign-On — так называются подобные системы) домен за пределами вашей доменной зоны...
[КУ] оккупировала армия.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.