CAS-Toolbox:从 ​​Active Directory 获取嵌套组

CAS-Toolbox:从 ​​Active Directory 获取嵌套组

我们正在使用 Cas-Toolbox 作为我们的内部网。

我们设法通过 CAS 获取 LDAP 属性并将其发送到内联网应用程序:

<bean id="adAttribRepository" class="org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao">
    <property name="baseDN" value="DC=main,DC=cobaltgroup,DC=com"/>
    <property name="queryTemplate" value="{0}"/>
    <property name="contextSource" ref="contextSource"/>
    <property name="ignorePartialResultException" value="yes"/>
    <property name="usernameAttributeProvider">
        <bean class="org.jasig.services.persondir.support.SimpleUsernameAttributeProvider">
            <constructor-arg value="sAMAccountName"/>
        </bean>
    </property>

    <property name="resultAttributeMapping">
    <map>
        <!-- Mapping beetween LDAP entry's attributes (key) and Principal"s (value) -->
        <entry key="cn" value="Name"/>
        <entry key="mail" value="Email"/>
    </map>
    </property>
</bean>

我想知道是否有可能获取用户所属的组。我尝试了 AD 属性“memberOf”,但它只返回“第一级”组成员身份

例子 :

  • 用户在组A中
  • 组 A 在组 B 中

MemberOf 仅返回 groupA

我想要获得 groupA 和 groupB

使用以下过滤器,ldapsearch 很容易:

'(member:1.2.840.113556.1.4.1941:=(cn=user1,cn=users,DC=x))'

但我不知道如何让它与 CAS-Toolbox 一起工作

  • 有没有办法使用 LDAP 查询创建自定义属性映射?
  • 是否存在已经给出正确答案的构造 AD 属性?

提前感谢你的帮助

相关内容