(AD)ldap Realm中的团体成员资格

时间:2010-12-16 09:08:41

标签: active-directory java-ee glassfish-3 realm

我在Java ee企业应用程序中使用JAAS Framework进行身份验证和授权过程。我使用GlassFish作为应用程序服务器。我的领域配置如下:

<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="ldapSvc@company.intern" />
</auth-realm>

此配置在我的环境中正常运行。请参阅以下日志条目:

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

但我没有从Active Directory

收到LDAP组成员资格
FEIN: LDAP: Group memberships found: 
FEIN: LDAP: login succeeded for: xyz

我要从哪个配置/条目/映射中接收来自AD的组成员身份?

当然,我可以添加属性

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

到我的GlassFish配置,但这不是我想要的。

1 个答案:

答案 0 :(得分:0)

您需要添加此额外属性:

group-search-filter搜索过滤器以查找用户的组成员身份。默认值为uniquemember =%d(%d扩展为用户元素DN)。对于Active Directory,这应该是member =%d