В GlassFish, при написании адаптера JCA, есть ли способ сопоставить анонимных пользователей с пользователем EIS? - PullRequest
1 голос
/ 21 декабря 2011

Я создал свой собственный адаптер JCA-> EIS для устаревшей системы.У меня проблемы с аутентификацией при подключении к старой системе.

Это довольно сложно объяснить.В GlassFish v3.1.1 после того, как вы создали свой собственный адаптер JCA и установили его, появляется вкладка «Карты работы безопасности».Кажется, это единственное место для ввода имени пользователя / пароля для системы EIS.Я хотел бы запустить свой EJB с анонимными (не прошедшими проверку подлинности) пользователями, но для того, чтобы заполнить пароль EIS, кажется, что вам нужно указать сопоставление группы или пользователя.

Есть ли способ просто иметь все вызовыадаптера JCA попал в систему EIS с тем же именем пользователя / паролем?

Требуемое поведение аналогично тому, как работает JDBC.У меня есть одно имя пользователя / пароль для моей базы данных.В мое приложение добавлен источник данных, но мне не нужно сопоставлять текущего пользователя с пользователем базы данных.

РЕДАКТИРОВАТЬ: Как обсуждалось в первом ответе, вы можете реализовать это с помощью config-properties.Однако я не верю, что это правильный способ сделать это в соответствии со спецификацией JCA.В Websphere вы можете назначить учетные данные JAAS в качестве «псевдонима управляемой компонентом аутентификации», и при вызове субъекта.

Я не могу сделать это в GlassFish.Если вы вызываете Subject.getPrivateCredentials (PasswordCredential.class), вы получаете набор учетных данных с пустыми строками.

Ответы [ 2 ]

1 голос
/ 22 декабря 2011

В JDBC RA (или ActiveMQ RA, который я недавно использовал) вы задаете имя пользователя и пароль в свойствах адаптера ресурса (config-property в ra.xml).Вы, вероятно, захотите реализовать это аналогичным образом в своем адаптере ресурсов.

0 голосов
/ 03 января 2012

Оказывается, это очень возможно сделать без использования config-property в ra.xml.Хитрость в том, что вы должны использовать ejb-jar.xml.Кажется, есть ошибка в GlassFish, когда EJB на основе Pure аннотаций не используют аутентификацию на основе контейнеров.

Я пытаюсь зарегистрировать ошибку в GlassFish jira, подробно описав это: http://java.net/jira/browse/GLASSFISH-18096

...