2

我在 java ee 企业应用程序中使用 JAAS 框架进行身份验证和授权过程。我使用 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 配置,但这并不是我想要的。

4

1 回答 1

0

您需要添加这个额外的属性:

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

于 2011-01-19T05:33:51.780 回答