Ldap 将角色名称映射到来自角色

Ldap 将角色名称映射到来自角色,ldap,tomcat7,jndi,web.xml,security-constraint,Ldap,Tomcat7,Jndi,Web.xml,Security Constraint,我为Tomcat7配置了一个LDAP域。它在组中搜索用户,一旦找到,将对他们进行身份验证并允许他们访问应用程序 这是我的领域: <Realm className="org.apache.catalina.realm.JNDIRealm" connectionURL="ldap://adldap.mycompany.com:3268" userSearch="(sAMAccountName={0})" userSubtree="tr

我为Tomcat7配置了一个LDAP域。它在组中搜索用户,一旦找到,将对他们进行身份验证并允许他们访问应用程序

这是我的领域:

<Realm className="org.apache.catalina.realm.JNDIRealm"
          connectionURL="ldap://adldap.mycompany.com:3268"
          userSearch="(sAMAccountName={0})"
          userSubtree="true"
          userBase="DC=mycompany,DC=com"
          roleSubtree="true"
          roleName="CN"
          userRoleName="memberOf"/>
将该角色映射到用户的角色名称


这应该(我无法测试)从经过身份验证的用户条目中提取属性(sAMAccountName)。

您是否尝试使用

<security-role-ref>
<role-name>CN=Domain Users,CN=Users,DC=mycompany,DC=com</role-name>
<role-link>user</role-link>
</security-role-ref>

CN=域用户,CN=用户,DC=mycompany,DC=com
用户

谢谢您的帮助,但我的意思是将角色名“CN=Domain Users,CN=Users,DC=mycompany,DC=com”映射为相等的“user”,而不必键入上面的整个角色名。希望这有助于澄清。就像我刚才说的,我只是想知道这是否有可能。阿菲克,没有。但是从那以后。这就是我最终要做的,但我在寻找一种比列出整个角色名更简单的方法。
<security-constraint>
    <display-name>user</display-name>
    <web-resource-collection>
        <web-resource-name>user</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>PUT</http-method>
        <http-method>HEAD</http-method>
        <http-method>TRACE</http-method>
        <http-method>POST</http-method>
        <http-method>DELETE</http-method>
        <http-method>OPTIONS</http-method>
    </web-resource-collection>
    <auth-constraint>
        <description>users</description>
        <role-name>CN=Domain Users,CN=Users,DC=mycompany,DC=com</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>BASIC</auth-method>
</login-config>
<security-role>
    <role-name>CN=Domain Users,CN=Users,DC=mycompany,DC=com</role-name>
</security-role>
<Realm className="org.apache.catalina.realm.JNDIRealm"
   connectionURL="ldap://adldap.mycompany.com:3268"
   userSearch="(sAMAccountName={0})"
   userSubtree="true"
   userBase="DC=mycompany,DC=com"
   roleSubtree="true"
   roleName="CN"
   userRoleName="sAMAccountName"/>
<security-role-ref>
<role-name>CN=Domain Users,CN=Users,DC=mycompany,DC=com</role-name>
<role-link>user</role-link>
</security-role-ref>