当前状态

  • 我使用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服务器执行类似的功能 .

  • 完全预配置了活动目录服务器 .

  • 我一次不能使用多个LDAP / AD服务 .

  • I 've searched Google for ' mapping LDAP/AD groups to Spring Security roles '每个结果都会导致编写Java类

  • 我找不到没有自定义代码的有效角色映射方法 .

  • 就OWF服务器而言,我发现了许多映射类'MapBaseAttributes2GrantedAuthoritiesMapper'和
    'SimpleAttributes2GrantedAuthoritiesMapper'理论上提供所需的功能(LDAP / AD组映射
    到角色)唯一的问题是两个类都实现了接口'Attributes2GrantedAuthoritiesMapper'和'LdapUserDetailsService'
    需要一个映射器接口类型'UserDetailsContextMapper' .

  • 当使用'CAS Authentication Provider'(带有'ProviderManager'或'authentication-provider'标签(研究结果))时,'Authentication Manager'不会't perpetuate to next ' CAS身份验证提供程序' .

示例(有趣的搜索结果)

<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>

请求

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

  • 仅使用XML配置将LDAP / AD组映射到Spring Security角色(注意:没有自定义代码,例如Java类) .

  • 验证以上是否可行(有无可置疑的证据) .

  • 我想知道是否可以使用官方Spring LDAP / AD库配置'MapBaseAttributes2GrantedAuthoritiesMapper'或'SimpleAttributes2GrantedAuthoritiesMapper'来实现第一个请求 .

  • 最后使用2个或更多CAS身份验证提供程序