внедрение системы единого входа

Я реализую функцию входа в систему SSO для приложения, в котором учетные данные SSO с хост-сайта отправляются в теле запроса вместе с URL-адресом моего приложения, который мне нужно обработать при запуске index.jsp для моей страницы. Подход, который я пытаюсь использовать, состоит в том, чтобы хранить эти учетные данные SSO (как объект значения) в контексте сервлета следующим образом: context.setAttribute("ssoCredentials", ssoLoginVO);

используя фильтр сервлета, а затем получить его, вызвав servletContext.getAttribute("ssoCredentials")

из PhaseListener на странице входа. Однако попытка получить атрибут не работает, хотя я вижу другие атрибуты при печати списка имен атрибутов.

Есть ли недостаток в этом подходе или я не использую правильные методы для достижения того, что мне нужно? Благодарим вас за помощь в этом.


person javshak    schedule 12.06.2014    source источник
comment
В чем ваша проблема: получение атрибута из контекста сервлета или использование контекста сервлета для хранения учетных данных (что необычно)?   -  person Serge Ballesta    schedule 12.06.2014
comment
Вы используете Керберос?   -  person Michael-O    schedule 12.06.2014
comment
Ну, проблема в том, чтобы получить атрибут из контекста. И нет, я не использую Kerberos, на самом деле это доморощенная реализация SSO.   -  person javshak    schedule 13.06.2014


Ответы (1)


Решил это, установив значение внутри самого сеанса. И позже получить его внутри класса bean. Однако мне пришлось позаботиться о том, чтобы в этом случае сеанс не стал недействительным (когда использовался вход в систему SSO).

person javshak    schedule 19.06.2014