SSO на веб-страницах - PullRequest
       29

SSO на веб-страницах

2 голосов
/ 19 сентября 2008

Я хотел бы знать, как лучше всего выполнять единый вход на веб-сайтах. Это означает, что если вы войдете в более чем один веб-сайт, вы будете аутентифицированы «прозрачным» способом. Я использую php + curl для установки файлов cookie для разных сайтов, но я действительно хотел бы знать, существует ли стандартный способ сделать это.

Ответы [ 3 ]

7 голосов
/ 19 сентября 2008

Для стандартного безопасного способа вам необходимо:

  • сервер аутентификации
  • фильтр аутентификации на каждом сайте, для которого требуется единый вход

Механизм немного сложен, он включает в себя перенаправления http и безопасные тикеты аутентификации. Подробное объяснение вы найдете на веб-сайте CAS (популярный сервер Java SSO).
Я рекомендую прочитать эту страницу « Пример клиентского шлюза Java CAS », особенно диаграмму последовательности внизу страницы.

0 голосов
/ 19 сентября 2008

Вы также можете взглянуть на OpenId. Это тот же механизм, который используется для входа в stackoverflow, и он обеспечивает «глобальный» единый вход.

Я полагаю, что есть php-библиотеки для интеграции с ним.

Вы также можете взглянуть на этот вопрос .

0 голосов
/ 19 сентября 2008

Лучший способ - использовать теги изображений, которые извлекают поток изображений с внешних сайтов.

Так что, если вы находитесь на www.some-site.com и хотите войти на www.some-partner-site.com, у вас это отображается после входа в систему:

Поскольку вы используете изображение, оно заставляет браузер «извлекать» содержимое этого URL.

Недавно я создал решение, которое делает это с ASP.NET, но у нас также есть партнерский сайт на основе php.

Какое изображение отображается нерелевантно, на самом деле вы не должны отображать изображения вообще (отсюда размер 1x1)

...