Шибболет и Аутологин - PullRequest
       19

Шибболет и Аутологин

2 голосов
/ 29 декабря 2011

Я использовал Shibboleth с ручным входом в систему, что означает, что пользователь нажимает ссылку для входа на веб-сайт, который открывает внешнюю страницу, где находится страница входа в Shibboleth.После аутентификации он перенаправляет их обратно на исходный сайт на страницу с поддержкой Shibboleth.

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

1 Ответ

2 голосов
/ 30 декабря 2011

Вы можете проверить наличие одного из заголовков Shibboleth, например, Shib_Authentication_Instant, и перенаправить, если его нет. Вы можете сделать это на уровне сервера, а не в логике вашего приложения, используя, например, mod_shib для Apache.

Если вы хотите показать «общедоступный контент» и дополнительный «контент участников», все становится сложнее. Я думаю, у вас может быть целевая страница, которая запрашивает некоторый защищенный от Shib ресурс (1x1 невидимый GIF с одноразовым значением в параметре запроса, что-то AJAXy, что угодно): Если ваш пользователь уже прошел Shib-аутентификацию, вы можете видеть, что ресурс загружается. (В противном случае он застрянет в невидимом диалоговом окне входа в систему для этого ресурса, что не должно иметь значения, и вы сохраните, что он не аутентифицирован в сеансе. Это не критично для безопасности: если пользователь удалит его, он снова выполните процедуру gif, и содержимое элемента должно зависеть от заголовков, которые ваш веб-сервер в любом случае вставляет для вас.)

Но это грубый взлом, и юзабилити зависит от "хорошего" тайм-аута для запроса маркера GIF.

...