【发布时间】:2013-01-09 16:32:55
【问题描述】:
我有一个使用 spring security 和 CAS(spring 3.0.5,cas 3.4.5)的应用程序,但是当我登录时,会话 ID 没有改变。
当我登录CasAuthenticationFilter 执行身份验证时,如果身份验证成功,它不会继续过滤器链,而是在SecurityContextHolder 上设置身份验证并调用successHandler。这将重定向到我请求的需要身份验证的原始 URL。 SessionManagementFilter 永远不会调用会话策略来创建新会话。
似乎CasAuthenticationFilter 扩展的AbstractAuthenticationFilter 有自己的会话策略,但默认为NullAuthenticatedSessionStrategy,这很容易受到会话固定的影响。问题是为什么默认策略容易受到攻击,当 spring claims to prevent session fixation by default 时?
解决此问题的最佳解决方案是什么?
【问题讨论】:
-
嗨,你说的是
CAS服务器中的CasAuthenticationFilter,它定义在securityContext.xml或spring-security cas/core 插件中的那个
标签: java spring-security cas