Authentication 如何在ldaploginmodule和jboss配置中指定要对用户进行身份验证的组

Authentication 如何在ldaploginmodule和jboss配置中指定要对用户进行身份验证的组,authentication,filter,jboss,ldap,Authentication,Filter,Jboss,Ldap,我只想验证用户是否在特定组中 根据我的测试,我有两个用户: 第一组中有一个用户 另一组在de第二组 我有一个active directory: CN=Users,DC=XXXX,DC=com ---usrA ---usrB ---group1 ---group2 usrA在group1中,usrB在group2 我使用standalone.xml中的LdapLoginModule通过JBoss对用户进行身份验证 standelone.xm

我只想验证用户是否在特定组中

根据我的测试,我有两个用户:

  • 第一组中有一个用户
  • 另一组在de第二组
我有一个active directory:

CN=Users,DC=XXXX,DC=com
  ---usrA      
  ---usrB      
  ---group1      
  ---group2
usrA
group1
中,
usrB
group2
我使用
standalone.xml
中的
LdapLoginModule
通过JBoss对用户进行身份验证

standelone.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="(&amp;(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的
所以使用的过滤器不能正常工作或者根本没有使用,我没有错误

我在active directory中测试了
userfilter
的查询,它返回的结果很好“
usrA


有人知道这个问题吗?任何人都可以根据自己的组使用用户吗?

用户过滤器实际上是
“(&;(objectCategory=person)(objectClass=user)(cn={USERNAME})((primaryGroupID=1109))”
?试试这个:
(&(objectCategory=person)(objectClass=user)(cn={USERNAME})(primaryGroupID=1109))
hy-acdcjunior和thx来帮助我。但当我尝试不带&;我在和之间有一个解析错误(…14:34:00583错误[org.jboss.as.server]JBAS015956:在引导期间捕获异常:org.jboss.as.controller.persistence.ConfigurationPersistenceException:JBAS014676:未能解析org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:141)上的配置[jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]at java.lang.Thread.run(未知源)[rt.jar:1.7.0_04]由以下原因引起:com.ctc.wstx.exc.WstxUnexpectedCharException:Unexpected字符'('(代码40)(应为名称起始字符)位于[row,col{Unknown Source}]:[259,71]异常似乎与
&
无关,但与
.Try:
value=“&(objectCategory=person)(objectClass=user)(cn={USERNAME})(primaryGroupID=1109)”