gpt4 book ai didi

java - 是否有支持嵌套组的 Spring Security DefaultLdapAuthoritiesPopulator 实现?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:03:58 24 4
gpt4 key购买 nike

我正在尝试获得一个使用 spring security 来支持嵌套 LDAP 角色的 Pentaho-BI 服务器。我的组结构如下:

  • PentahoAdmins(团体)
    • 成员:域管理员
  • 域管理员(组)
    • 成员:User1
  • 用户 1(用户)

我想验证 User1 是 PentahoAdmins 组的一部分,而不必直接将用户添加到该组。从我的在线研究来看,Spring 的 DefaultLdapAuthoritiesPopulator 似乎不支持嵌套组。我确信可以创建一个支持组嵌套的子类,但是是否有人已经解决了这个问题并将其发布在开源项目中?

最佳答案

如下配置 LDAP 权限填充器,它将与嵌套组一起使用:

<bean id="ldapAuthoritiesPopulator" class="org.springframework.security.ldap.userdetails.DefaultLdapAuthoritiesPopulator">
<constructor-arg ref="ldapContextSource" />
<constructor-arg value="OU=Resource,OU=Security Groups,OU=Administrative Area" /> <!-- group search base -->
<property name="groupRoleAttribute" value="cn" /> <!-- cn is default, but setting it anyway so it's clear -->
<property name="rolePrefix" value="" /> <!-- reset prefix, default is ROLE_ -->
<property name="convertToUpperCase" value="false"/>
<property name="searchSubtree" value="true" /> <!-- deep search -->
<property name="groupSearchFilter" value="(&amp;(&amp;(objectClass=group)(objectCategory=CN=Group,CN=Schema,CN=Configuration,DC=company,DC=local))(&amp;(cn=RG-TRADE*)(member:1.2.840.113556.1.4.1941:={0})))" />
</bean>

groupSearchFilter 值表示:

objectClass=[group object class] AND objectCategory=[group object category] AND cn_name_of_group=RG-TRADE* AND member:here_magic_for_nested_groups=[user full dn]

关于java - 是否有支持嵌套组的 Spring Security DefaultLdapAuthoritiesPopulator 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5163597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com