TGT истекает, если мы используем app1 и не используем другие - PullRequest
0 голосов
/ 08 июня 2011

у нас есть вопрос о политике истечения срока действия билетов. Мы используем аутентификацию cas. Срок действия TGT истекает через 2 часа, тогда как java-сеанс истекает через 30 минут. Наша проблема в том, что если пользователь работает только с использованием веб-приложения более двух часов и затем пытается использовать другое веб-приложение, срок действия билета на выдачу билетов истекает, и поэтому пользователь должен заново войти в систему, хотя он может работать в первом веб-приложении.

Есть ли способ продления билета на выдачу билетов, пока пользователь работает в первом веб-приложении?

1 Ответ

1 голос
/ 08 июня 2011

К сожалению, если не считать магии, то в CAS 3.4 (когда я рассматривал очень похожую проблему) ответ - нет.

Если вам абсолютно необходимо реализовать эту функцию, лучшая идея, с которой я столкнулся (коллега придумал ее, а не я), состояла в том, чтобы каждая страница ваших приложений использовала Javascript для «проверки связи» с вашим сервером CAS. (простой запрос AJAX, который не заботится о возврате, будет работать), и реализует пользовательскую Политику истечения срока действия TGT, которая отслеживает последний обратный вызов и истекает билет, если последний пинг был больше, чем X секунд назад. Однако этот подход требует значительного количества зацепок в рамках CAS, и я бы рекомендовал против этого. Я бы предоставил код, но прошло слишком много времени с тех пор, как я действительно копался во внутренностях CAS.

...