Spring security整合CAS单点登录,业务系统无法单点注销
Spring Security启用session-fixation-protection,这会在登录时销毁用户的当前session,然后为用户创建一个新session,并将原有session中的所有属性都复制到新session中,导致单点注销时无法注销登录原有的session,从而导致单点注销失败。
将session-fixation-protection禁用后,可以正常单点注销。
在Spring security 4 中体现在:
<bean id="sessionAuthenticationStrategy" class="org.springframework.security.web.authentication.session.CompositeSessionAuthenticationStrategy">
<constructor-arg>
<list>
<bean />
</list>
</constructor-arg>
</bean>
bean类不要引入如下bean
<bean class="org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy" />
参考文档