SiteMinder и EJB 3.0 - чтение идентификатора пользователя - PullRequest
0 голосов
/ 13 января 2011

Я работаю над приложением, которое использует EJB 3.0 и предоставляет его методы в качестве веб-служб.

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

request.getHeader("sm_user");

Эта информация доступна в конечной точке WebService и может быть прочитана в фильтре сервлетов.

Но как мне получить эту информацию в слое EJB, не передавая ее явно в качестве параметра? Как я могу получить / установить учетные данные, используя объект Principal с помощью Interceptor?

Пожалуйста, предоставьте ваши ценные материалы.

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

Я думаю, что вам нужно установить агент сервера приложений для SiteMinder на вашем сервере приложений, чтобы удостоверение правильно передавалось через вызов ctx.getCallerPrincipal (). GetName () в вашем EJB.

0 голосов
/ 18 января 2011

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

...