Проблема проверки shiro в классе фильтров - PullRequest
0 голосов
/ 20 июня 2020

У меня проблема с shiro.

У нас есть два приложения (две WARS) на одном веб-журнале c server 12 c.

Одна WAR - это интегрированный пользовательский интерфейс с CAS. Вторая ВОЙНА - это службы отдыха на Джерси.

Моя проблема в том, что пользовательский интерфейс был успешно создан, а JsessionID был передан обратно службам отдыха во время связи с ними. Перед тем, как обратиться к сервису, мы писали один класс фильтра shiro каждый раз, когда Subject действителен или нет.

А также в нашем пользовательском интерфейсе есть требование вызывать Rest Service (одна конкретная c service) в каждом минута.

Проблема: каждый раз, когда вызов достигает класса фильтра shiro, мы получаем другую тему. Я попытался распечатать sessionId из темы (каждый раз по-разному), хотя пользователь был успешно аутентифицирован в пользовательском интерфейсе, а в бэкэнде некоторое время имя пользователя отображается как null. Не могли бы вы помочь.

Subject subject = getSubject(request, response);

1 Ответ

0 голосов
/ 21 июня 2020

Есть несколько вещей, которые обычно вызывают это.

  1. Если вы сами передаете логин (вызывая что-то вроде subject.login() напрямую, вместо того, чтобы позволить ShiroFilter обрабатывать его)
  2. Оба сервера приложений управляют сеансами за пределами Shiro: см. https://shiro.apache.org/session-management.html#session -storage

Тем не менее, мне нужно больше подробностей о том, как ваше приложение настроен. Как выглядят ваши файлы cookie, как настроены серверы приложений и т. Д. c.

...