2

当前状态

  • 我使用 CAS 服务器进行 SSO(单点登录)。
  • 我使用 Ozone Widget Framework 作为 CAS 客户端。
  • 我已经设置了一个 LDAP 服务器,用于使用 Ozone Widget Framework 进行验证
  • 在 CAS 服务器上,我可以使用两个 LDAP 和 Active Directory 服务器进行身份验证。
  • 我使用的是 Spring 3.0.5 版和 Spring Security 3.0.2 版。
  • 问题

  • 我无法在 Spring Security 上使用 Active Directory Server 执行与 LDAP Server 类似的功能。
  • 活动目录服务器是完全预配置的。
  • 我一次不能使用超过 1 个 LDAP/AD 服务。
  • 我在 Google 上搜索了“将 LDAP/AD 组映射到 Spring Security 角色”,每个结果都导致编写 Java 类
  • 如果没有自定义代码,我找不到有效的角色映射方法。
  • 在 OWF 服务器方面,我发现许多映射类“MapBaseAttributes2GrantedAuthoritiesMapper”和
    “SimpleAttributes2GrantedAuthoritiesMapper”理论上提供了所需的功能(映射
    到角色的 LDAP/AD 组)唯一的问题是这两个类都实现了接口“Attributes2GrantedAuthoritiesMapper”和“LdapUserDetailsS​​ervice” '
    需要映射器接口类型 'UserDetailsContextMapper'。
  • 当使用“CAS Authentication Provider”(带有“ProviderManager”或“authentication-provider”标签(研究结果))时,“Authentication Manager”不会延续到下一个“CAS Authentication Provider”。
  • 示例(有趣的搜索结果)

  • 开放式
  • <beans:bean id="UserGroupLdapAuthoritiesPopulator" class="org.opennms.web.springframework.security.UserGroupLdapAuthoritiesPopulator">
            <beans:constructor-arg ref="contextSource"/>
            <beans:constructor-arg value="OU=SomeDept,OU=SomeOrgUnit"/>
            <beans:property name="searchSubtree" value="true" />
            <beans:property name="groupRoleAttribute" value="cn" />
            <beans:property name="groupSearchFilter" value="member={0}" />
            <beans:property name="groupToRoleMap">
              <beans:map>
                <beans:entry>
                  <beans:key><beans:value>myusersgroup</beans:value></beans:key>
                  <beans:list>
                    <beans:value>ROLE_USER</beans:value>
                  </beans:list>
                </beans:entry>
                <beans:entry>
                  <beans:key><beans:value>myadminsgroup</beans:value></beans:key>
                  <beans:list>
                    <beans:value>ROLE_ADMIN</beans:value>
                    <beans:value>ROLE_USER</beans:value>
                  </beans:list>
                </beans:entry>
              </beans:map>
            </beans:property>
          </beans:bean>
    

  • 在向 Active Directory 进行身份验证时处理角色
  • 要求

    我想使用 Spring Security 默认类来配置以下内容:-

  • 仅使用 XML 配置将 LDAP/AD 组映射到 Spring Security 角色(注意:没有自定义代码,例如 Java 类)。
  • 验证上述是否可能(有无可置疑的证据)。
  • 我想知道是否可以使用官方 Spring LDAP/AD 库配置“MapBaseAttributes2GrantedAuthoritiesMapper”或“SimpleAttributes2GrantedAuthoritiesMapper”来实现第一个请求。
  • 最后使用 2 个或更多 CAS Authentication Providers
  • 4

    0 回答 0