我目前已经配置好弹簧安全并正常工作。我想让CAS工作,以便我可以在我编写的多个应用程序中进行单点登录。我很困惑如何让cas使用我的自定义userdetailService。用Spring Security实现CAS 3
目前我有,这是我的弹簧security.xml文件
<authentication-manager alias="authManager">
<authentication-provider user-service-ref="userDetailsService">
<password-encoder ref="passwordEncoder">
<salt-source ref="saltSource"/>
</password-encoder>
</authentication-provider>
</authetication-manager>
从所有CAS的例子,我发现他们说的做执行管理是这样的:
<beans:bean id="casAuthenticationProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider">
<beans:property name="authenticationUserDetailsService">
<beans:bean class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
<beans:constructor-arg ref="userDetailsService"/>
</beans:bean>
</beans:property>
<beans:property name="serviceProperties" ref="serviceProperties"/>
<beans:property name="ticketValidator">
<beans:bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">
<beans:constructor-arg index="0" value="https://localhost:8443/cas"/>
</beans:bean>
</beans:property>
<beans:property name="key" value="1234554321"/>
</beans:bean>
<authentication-manager alias="authManager">
<authentication-provider ref="casAuthenticationProvider"/>
</authentication-manager>
的文档混乱。我如何从一个正在运行的spring-security应用程序转换到实现cas的应用程序,并仍然使用我的自定义用户详细信息?另外我需要在jsp页面上进行更改?任何帮助将非常感激。
感谢
你是什么意思“实现CAS并仍然使用我的自定义用户的详细信息”?如果您使用CAS服务器,则希望该服务器执行身份验证。你的应用程序不会再这样做了。 (但是,也许你想允许匿名访问)。 – Andy
在我的春季安全应用程序中,我有一个passwordencoder和saltource beans来加密我的密码。我还有一个实现了UserDetailsService的自定义UserDetails bean。我想我很困惑如何将这些转换为cas,所以一切仍然正常。我还创建了自己的角色,权限等 – blong824