2012-03-27 3 views
1

У меня проблема с моим веб-приложением (JSF + JPA). Я развертываю его на Glassfish (3.1.1). Для аутентификации я должен использовать AD с Kerberos (LDAP-авторизация не разрешена в моей организации). Для этого я создал фильтр SPNEGO. Затем я использую локальную базу данных для поиска аутентифицированного пользователя и чтения его/ее профиля, ролей и т. Д. Все проверки безопасности я делаю в основном, проверяя сессионный компонент пользователя в атрибуте «rendered».Как использовать безопасность, управляемую контейнером, с SPNEGO и Kerberos?

Мой вопрос: возможно ли (в описанной среде) как-то установить роли текущего пользователя (принципала?) автоматически после сразу после авторизации из таблиц данных, чтобы я мог использовать безопасность, управляемую контейнером?

При необходимости я могу предоставить больше деталей кода/конфигурации.

ответ

1

Вы должны использовать область, управляемую Active Directory, которая будет извлекать все группы AD для представленных UserPrincipalName из Kerberos.

+0

1. Аутентификация должна выполняться Kerberos, а не LDAP - совместим ли этот подход? 2. Роли/группы пользователей хранятся в локальной базе данных, а в AD нельзя создать/не удается создать AD - возможно ли использовать хранилище данных без AD для авторизации? – ManieQ

+0

Да, конечно, вы можете это сделать. Просто убедитесь, что область поддерживает это. В противном случае вам нужно будет написать свой собственный. –