JBoss EAP PolicyContext.getContext возвращает ноль

Я нахожусь в процессе обновления с JBoss EAP 6.4 до 7.1, но у меня возникают некоторые технические проблемы, связанные с управлением Предметом.

Некоторый контекст

Мое приложение представляет собой EAR-файл, содержащий:

  • веб-модуль
  • несколько модулей EJB, содержащих сессионные компоненты без сохранения состояния (SLSB)
  • файл EAR, упаковывающий все вышеперечисленное

Аутентификация примитивна: учетные данные имени пользователя и пароля передаются на одну из SLSB, которая, в свою очередь, вызывает

LoginContext loginContext = new LoginContext(group.getLoginContextName(), callbackHandler);
loginContext.login();

Эта проблема

Мое приложение время от времени извлекает объекты в разных точках исполнения - из моего веб-приложения, из моих EJB-компонентов, просто где угодно. Я обычно использовал Subject.getSubject(...) но это постоянно возвращает ноль все время.

Меня попросили использовать PolicyContext.getContext("javax.security.auth.Subject.container") и он возвращает аутентифицированный субъект, но только там, где loginContext.login(); называется. В тот момент, когда я вызываю его из любого другого места (в том числе из другого экземпляра SLSB того же типа), субъект становится пустым!

Что мне не хватает??

0 ответов

Другие вопросы по тегам