Glassfish 3.1 + Kerberos + роли из базы данных (JDBC) - PullRequest
2 голосов
/ 05 августа 2011

Я не могу узнать, как получить роли из базы данных (JDBC) для пользователя, авторизованного с помощью Kerberos.Вход в Kerberos работает нормально, но у пользователя нет ролей.Я использовал spnego-r7 для запуска Kerberos - http://spnego.sourceforge.net/index.html Я не могу найти учебник или советы, как это сделать.У вас есть идея или пример?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2013

Вы можете (1) обрабатывать группы пользователей неконтролируемым образом (например, в вашем приложении) или (2) пытаться подключиться к механизму безопасности конкретного контейнера.Я не подключился к безопасности Glassfish для назначения групп, но, похоже, вы должны создать как минимум два класса: один, расширяющий com.sun.appserv.security.AppservRealm, и другой, расширяющий com.sun.appserv.security.AppservPasswordLoginModule,Первый имеет метод с именем getGroupNames, который принимает имя пользователя в качестве параметра, а второй - метод commitUserAuthentication, который принимает массив имен групп.К сожалению, не ясно, как это должно работать, и, кажется, плохо документированы.Больше информации здесь: http://docs.oracle.com/cd/E19226-01/820-7695/beabs/index.html и здесь: https://blogs.oracle.com/nithya/entry/groups_in_custom_realms

0 голосов
/ 05 августа 2011

Это ваша задача, а не Kerberos.Kerberos является исключительно аутентификацией.Когда userprincipal передан от ответа, посмотрите это в своей области JDBC и получите свои роли.Это означает, что это двухэтапный процесс.

...