我们正在使用 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 属性?
提前感谢你的帮助