2010-12-16 9 views
2

Я использую JAAS Framework для процесса аутентификации и авторизации в бизнес-приложении java ee. Я использую GlassFish в качестве сервера приложений. Конфигурация моего царства выглядит так:членство в группе (AD) ldap Realm

<auth-realm name="ads-realm" classname="com.sun.enterprise.security.auth.realm.ldap.LDAPRealm"> 
    <property name="jaas-context" value="ldapRealm" /> 
    <property name="base-dn" value="CN=Users,DC=company,DC=intern" /> 
    <property name="directory" value="ldap://ad.company.intern:389" /> 
    <property name="search-filter" value="(&amp;(objectClass=user)(sAMAccountName=%s))" /> 
    <property name="search-bind-password" value="****" /> 
    <property name="search-bind-dn" value="[email protected]" /> 
</auth-realm> 

Эта конфигурация прекрасно работает в моей среде. См следующие записи журнала:

FEIN: JAAS login complete. 
FEIN: JAAS authentication committed. 
FEIN: Password login succeeded for xyz 

, но я не получаю членство LDAP Group (s) из моей Active Directory

FEIN: LDAP: Group memberships found: 
FEIN: LDAP: login succeeded for: xyz 

Какая конфигурация/запись/отображение есть я делать, чтобы получить членство в группе от AD?

Конечно, я могу добавить свойство

<property name="assign-groups" value="Users" /> 

в моей конфигурации GlassFish, но это не совсем то, что я хочу.

ответ

0

Вы должны добавить это дополнительное свойство:

group-search-filter Поиск фильтр, чтобы найти членство в группах для пользователя. Значение по умолчанию - uniquemember =% d (% d расширяется до DN пользовательского элемента). В случае Active Directory это должно быть членом =% d