如何在JBOSS EAP 6.3的LdapExtLoginModule中配置角色组?

问题描述:

有人在我们公司已经配置了几乎所有在JBOSS EAP 6.3使用LdapExtLoginModule角色组和工作fine.Here是独立的,full.xml文件与配置:如何在JBOSS EAP 6.3的LdapExtLoginModule中配置角色组?

<security-domain name="LDAPAuthentication" cache-type="default"> 
    <authentication> 
     <login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required"> 
      <module-option name="java.naming.provider.url" value="ldap://ha-adds-global.xxxx.com:3268"/> 
      <module-option name="bindDN" value="CN=prodjbsvc,OU=SvcAccounts,OU=NOPOL,dc=eagle,dc=xxxx,dc=com"/> 
      <module-option name="bindCredential" value="[email protected]"/> 
      <module-option name="baseCtxDN" value="dc=eagle,dc=xxxx,dc=com"/> 
      <module-option name="baseFilter" value="(sAMAccountName={0})"/> 
      <module-option name="rolesCtxDN" value="ou=COSAs,dc=eagle,dc=xxxx,dc=com"/> 
      <module-option name="roleFilter" value="(sAMAccountName={0})"/> 
      <module-option name="roleAttributeID" value="memberOf"/> 
      <module-option name="roleAttributeIsDN" value="true"/> 
      <module-option name="roleNameAttributeID" value="cn"/> 
      <module-option name="roleRecursion" value="-1"/> 
      <module-option name="searchScope" value="SUBTREE_SCOPE"/> 
      <module-option name="allowEmptyPasswords" value="false"/> 
      <module-option name="java.naming.referral" value="follow"/> 
     </login-module> 
    </authentication> 
</security-domain> 

我想配置LDAP服务器只特定角色组 - “ALL_CONTRACTORS”,以这样的方式,只有承包商应该能够登录到该安全域。为此,我将standalone-full.xml“rolesCtxDN”属性值更改为:

<module-option name="rolesCtxDN" value="CN=ALL_CONTRACTORS,OU=GROUPS,OU=SMO,OU=COSAs,DC=eagle,DC=xxxx,DC=com"/> 

但它没有任何区别。我可以使用来自LDAP服务器的任何用户凭证进行登录。任何人都可以帮助我满足我的要求。

角色搜索上下文与认证无关,但与授权无关。所以,如果你真的想登录仅限制使用给定角色的用户,你必须改变baseFilter登录模块选项:

<module-option name="baseFilter" 
    value="(&amp;(sAMAccountName={0})(memberOf=CN=ALL_CONTRACTORS,OU=GROUPS,OU=SMO,OU=COSAs,DC=eagle,DC=xxxx,DC=com))"/> 
+0

这工作。我只做了一个小小的更正。我们不能直接将“&”用于baseFilter值。相反,我用“&”谢谢@kwart – devlperMoose

+0

感谢提及&符问题。我已经解决了它的答案。 – kwart