当前位置: 首页 > 知识库问答 >
问题:

CAS 4.2获取LDAP属性

楚良平
2023-03-14
<bean id="ldapAuthenticationHandler"
        class="org.jasig.cas.authentication.LdapAuthenticationHandler"
              p:principalIdAttribute="sAMAccountName"
              c:authenticator-ref="authenticator">
            <property name="principalAttributeMap">
                <map>
                    <entry key="displayName" value="simpleName" />
                    <entry key="mail" value="email" />
                    <entry key="memberOf" value="membership" />
                </map>
            </property>
    </bean>
<bean id="attributeRepository" class="org.jasig.services.persondir.support.NamedStubPersonAttributeDao"
          p:backingMap-ref="attrRepoBackingMap" />

 <util:map id="attrRepoBackingMap">
    <entry key="uid" value="uid" />
    <entry key="eduPersonAffiliation" value="eduPersonAffiliation" />
    <entry key="groupMembership" value="groupMembership" />
    <entry>
        <key><value>memberOf</value></key>
        <list>
            <value>faculty</value>
            <value>staff</value>
            <value>org</value>
        </list>
    </entry>
</util:map>

当我从DeployerConfigContext.xml中删除attributeRepository时,它的抛出异常。

根据本文档https://apereo.github.io/cas/4.2.x/installation/ldap-authentication.html,LdapAuthenticationHandler能够独立地解析和检索主体属性,而不需要额外的主体解析器机器。如果是,我们如何将这些属性返回给客户机?

共有1个答案

慕逸仙
2023-03-14

根据本文档https://apereo.github.io/cas/4.2.x/installation/ldap-authentication.html,

如果决定让身份验证处理程序检索属性,而不是单独的主体解析器,则需要确保链接的解析器处于非活动状态:

<util:map id="authenticationHandlersResolvers">
   ...
   <entry key-ref="ldapAuthenticationHandler" value="#{null}" />
</util:map>

在做了这个改变之后,它开始工作了。

 类似资料:
  • 我想使用java中的spring从ldap获取userPassword属性。 当然,这不起作用: 如果我尝试: 我可以得到这个属性...但是现在从Object如何获取哈希密码?

  • 你能告诉我如何向控制台或视图显示用户角色以进行测试吗?我可以通过从ldap中的用户列中获取用户角色来重新定义(默认情况下从ldap'cn'获取角色)用户角色吗? 谢谢你。

  • 我正在尝试验证Nexus Sonatype配置。我从这里发现了Groovy脚本: https://github . com/savoirfairelinux/ansi ble-nexus 3-OSS/tree/master/templates/groovy 我能够在Nexus Sonatype中配置LDAP,甚至创建一个新角色(不是从LDAP)。但现在我正在搜索如何获取LDAP用户,然后将他们放在

  • 我正在使用openLDAP服务器对我的夸克应用程序上的用户进行身份验证。一切正常,但我想检索我的用户数据。 我以为它会出现在方法身份中。getAttributes()但这给了我一个空映射。 以下是一个用户示例: 这也是我的ldap配置: 如何获取我的用户邮件和CN? 非常感谢您的帮助, 托马斯

  • 嗨,我试图从LDAP和该组中的用户获取所有postxGroup。下面的代码是我到目前为止所做的,它返回我所有的组,但我不知道如何获得这些组的用户。请指导我这种做法好吗?或者我应该先得到用户,然后根据GID得到组名?

  • 我和这里的其他几个问题有同样的问题,没有一个真正得到回答;也就是说,对于CAS4.x(4.2.6),我无法获得LDAP属性返回给客户机应用程序。 问题1这似乎是矫枉过正;自定义代码来解决什么是一个“简单”的问题。 问题2已经这样做了,但它不起作用。 更新#2 我做了更多的测试,但还是不成功。我认为,这归结于LdapAuthenticationHandler的principalAttributeMa