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