Может ли Apereo CAS перенаправить пользователя на страницу входа, если получил нераспознанный билет? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть несколько узлов CAS, сбалансированных через Nginx с использованием ip ha sh. Это работает нормально, но когда я добавляю или удаляю узлы, некоторые пользователи получают исключение «Тикет не распознан».

Можно ли заставить CAS удалить нераспознанные билеты и перенаправить пользователя на страницу входа?

1 Ответ

0 голосов
/ 23 апреля 2020

У меня есть несколько узлов CAS, сбалансированных через Nginx с использованием ip ha sh. Это работает нормально, но когда я добавляю или удаляю узлы, некоторые пользователи получают исключение «Ticket not распознанный».

Это может происходить любым количеством способов; неверный идентификатор билета, просроченный билет, удаленный билет, повторно использованный билет и т. д. c. Важно помнить, что когда вы видите, что заявка не распознана, это означает, что заявка больше не управляется, не хранится, не поддерживается и не обрабатывается CAS. Это «прощальный билет, прочь с тобой».

Можно ли заставить CAS удалить нераспознанные билеты и перенаправить пользователя на страницу входа?

Нет .

Как объяснено выше, нет необходимости удалять вещи, которые больше не существуют. Если билет не распознан, он уже удален ... и если CAS считает билет недействительным (то есть истек срок действия, но еще не удален из хранилища), он будет автоматически удален. Вам больше нечего делать.

Единственный раз, когда вы видите это сообщение об ошибке, это когда приложение отправляет билет в CAS для его проверки. Эта передача представляет собой обратный канал, сервер-серверный вызов (приложение -> CAS). Там нет браузера. Перенаправления нет. Страница входа отсутствует.

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

...