Security整合CAS过程中,AuthenticationUserDetailsService失效的问题
问题
最近需要搭建单点登录环境,当在原有已整合了 spring security 的系统上对接 CAS 服务器时,发现实现了 AuthenticationUserDetailsService 接口的 CAS 用户信息加载服务无法生效(断点也无效),也不报错,奇怪的是,当独立搭建一套采用同等配置的 CAS client应用时,却是可以正常生效的。
解决方式
经过对系统中可能有影响到用户信息服务的配置进行一一排查,最终发现,导致这个问题的原因竟然是原有的自定义认证授权类,即使在认证配置中并没有将该配置进行注入,但是它还是影响到CAS认证服务的正常运行
因此,目前的有效解决方案为:
方式一: 删除原有自定义验证类(或取消对该类注册为Spring Bean
)
方式二: 在认证配置中,取消调用surper.configure(auth)
方法(不推荐)
以上可有效解决提出的问题,但是具体导致原因有待进一步研究。