2012-02-25 3 views
4

Я разрабатываю приложения Java EE 6, используя Glassfish 3.1.1 в качестве моего сервера приложений. Я использую декларативную и программную безопасность. Я определил несколько ролей в моем дескрипторе развертывания и определил все ограничения безопасности.Пользовательский вариант isUserInRole с RDBMS

Я использовал JDBCReal, и теперь я изменил его на LDAPRealm. Поэтому я хотел бы управлять отображением групп пользователей, не полагаясь на группы LDAP. Другими словами, я хочу пройти аутентификацию в LDAP, но разрешить использование RDBM, спрашивая, принадлежит ли текущий пользователь группе X.

Я думал, что существует способ «переопределить» метод isUserInRole. Во время поиска я слышал о таких вещах, как JACC, и я узнал, что есть способы подключить к серверу приложений собственный поставщик JACC или что-то в этом роде, но я не смог найти какую-либо пользовательскую реализацию JACC, и я не знаю, как сделайте это (или событие, если оно сработает ..)

ответ

0

Согласно Working with Realms, Users, Groups, and Roles, область представляет собой «полную базу данных пользователей и групп, которые идентифицируют действительных пользователей веб-приложения». Область определяет набор учетных данных и роли.

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

Итак, согласно моему пониманию, вам необходимо реализовать гибридную область LDAP/JDBC. Здесь sample code для пользовательского модуля входа и области. Вы видите это похожее мое answer.

+0

Для гибридного домена LDAP/JDBC; ссылка, которую вы предоставили, мертва. Это одно: http://docs.oracle.com/cd/E19609-01/819-2556/beabs/index.html –

Смежные вопросы