Как получить удаленный хост в приложении JSF с помощью единого входа - PullRequest
1 голос
/ 18 января 2012

Мое веб-приложение развернуто в сети, которая использует Oracle Access Manager 10g Single Sign On (SSO) для управления идентификацией.

FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) context
                .getExternalContext().getRequest();
String remoteHost = request.getRemoteHost();
String remoteAddress = request.getRemoteAddr();

Приведенный выше код не дает правильного IP-адреса пользователя и компьютераимя при интеграции с SSO вместо этого дает URL-адрес сервера как remoteHost.

Может кто-нибудь сообщить мне, как найти идентичный IP-адрес пользователя и remoteHost в JSF с SSO.

1 Ответ

1 голос
/ 18 января 2012

Я не знаком с системой единого входа Oracle Access Manager, но любое решение единого входа для веб-приложений обычно включает сервер приложений, расположенный за сервером единого входа, который выступает в роли прокси-сервера для пользователя. Он перехватывает запрос, вводит учетные данные пользователя в заголовок запроса и затем перенаправляет измененную информацию запроса на сервер приложений. Это эффективно скрывает IP-адрес пользователя от сервера приложений.

Хорошая новость заключается в том, что большинство веб-приложений для единого входа могут быть настроены на включение исходного IP-адреса пользователя в заголовок запроса. Вам следует поговорить с администратором сервера единого входа и выяснить, может ли он включить эту функцию для вашего приложения.

...