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

时间:2015-11-02 15:26:48

标签: jboss

我们公司的某个人已经使用JBOSS EAP 6.3中的LdapExtLoginModule配置了几乎所有角色组,并且工作正常。这是具有该配置的standalone-full.xml文件:

<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="XQtU@1lc"/>
            <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服务器仅配置为特定的角色组 - &#34; ALL_CONTRACTORS&#34;,这样只有承包商才能登录到此安全域。为此,我更改了standalone-full.xml&#34; rolesCtxDN&#34;属性值为:

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

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

1 个答案:

答案 0 :(得分:1)

角色搜索上下文与身份验证无关,但与授权无关。因此,如果您确实希望仅限具有给定角色的用户登录,则必须更改 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))"/>