我只想对特定组中的用户进行身份验证。
在我的测试中,我有两个用户:
- 一个用户在第一组
- 其他在第二组
我有一个活动目录:
CN=Users,DC=XXXX,DC=com
---usrA
---usrB
---group1
---group2
usrA
在 中group1
,usrB
在 中group2
,我通过 JBossLdapLoginModule
在 中对用户进行身份验证standalone.xml
。
独立的.xml:
<login-module code="org.jboss.security.auth.spi.LdapLoginModule" flag="sufficient">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.provider.url" value="ldap://192.168.1.18"/>
<module-option name="java.naming.allowEmptyPasswords" value="false"/>
<module-option name="userfilter" value="(&(objectCategory=person)(objectClass=user)(cn={USERNAME})((primaryGroupID=1109)))"/>
<module-option name="principalDNSuffix" value="@XXXX.com"/>
<module-option name="java.naming.security.authentication" value="simple"/>
</login-module>
当(primaryGroupID=1109)
= group1
。
结果是:
- 登录
usrA
成功 - 也
usrB
成功
所以使用的过滤器无法正常工作或根本没有使用,我没有错误。
我测试了userfilter
活动目录中的查询,它很好地返回了我“ usrA
”
有人知道这个问题吗?任何人都有另一种方式来根据他的组使用用户吗?