SiteMinder и HTTP Client - Информация для входа пользователя - PullRequest
1 голос
/ 10 августа 2011

У нас есть портлет, работающий на технологии Java / J2EE. Он взаимодействует с другим приложением / системой через HTTP-запрос, который требует аутентификации пользователя. Текущее решение извлекает зарегистрированное имя пользователя и пароль пользователя из портала и передает эту информацию во внутренние системы, используя API-интерфейсы «HTTPClient», для извлечения контента на основе аутентификации и авторизации пользователя.

Предпринимаются попытки включить поисковик сайта для портала. С включенным сайтом minder, портал больше не предоставляет зарегистрированному пользователю имя пользователя и пароль. Идеальным способом было бы, чтобы во внутреннем приложении также был включен сайт minder, чтобы портлет мог передать маркер входа или значение cookie.

Поиск промежуточных подходов до тех пор, пока внутреннему приложению не будет включен SiteMinder. Есть ли способ, которым мы можем включить / заставить пользователя ввести имя пользователя и пароль? Я не могу думать о такой возможности, потому что код портлета (с помощью HTTP-клиента обращается к внутреннему URL-адресу приложения, а не к браузеру). Я могу придумать один из возможных способов - создать новый экран (UI), чтобы пользователь вводил имя пользователя и пароль в портлете и использовал его для аутентификации в серверной системе через код Java. Пожалуйста, дайте мне знать, если есть другие идеи.

Также, дайте мне знать, если вопрос запутанный, я предоставлю более подробную информацию.

Спасибо

Ответы [ 2 ]

3 голосов
/ 04 сентября 2011

Siteminder может динамически предоставлять информацию о пользователях подключенным приложениям в заголовках HTTP (uid, адрес электронной почты и т. Д.). Это поведение настраивается на сервере политики Siteminder. По умолчанию заголовок HTTP SM_USER (или аналогичный) содержит имя пользователя, прошедшего проверку.

Затем вы должны адаптировать свой код портлета для извлечения этих заголовков из запроса и передачи его во внутреннее приложение, как вы привыкли.

1 голос
/ 16 августа 2014

Я бы не советовал использовать заголовок SM_USER для отслеживания пользователей.SM_USER содержит идентификатор, предоставленный сборщику учетных данных, и будет меняться в зависимости от типа используемой схемы проверки подлинности.

Пример. Если у вас есть схема проверки подлинности на основе форм HTML, которая собирает адрес электронной почты вместо UserID,адрес электронной почты будет отправлен в заголовке SM_USER.В случае схемы аутентификации X.509 SubjectDN из сертификата будет находиться в заголовке SM_USER.

Лучшим вариантом будет использование заголовка SM_UNIVERSALID, поскольку он всегда будет содержать атрибут универсального идентификатора.Атрибут универсального идентификатора настраивается в объекте User Directory (обычно это значение "uid").

...