当前状态
-
我使用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身份验证提供程序