
Spring Security的Session固化保护
coding二月 15, 20161mins
Spring Security
使用Spring Security时,用户在登录和登出时,SessionID都会发生变化。这主要是Spring Security针对Session固化攻击做的保护。 Session固化攻击指的是,攻击者先自己访问系统获取一个未登录的SessionID,然后把包含这个SessionID的连接发给其他用户,然后让用户登录,这样攻击者就获取到了一个用户登录后的Session,相当于登录了用户的账号。
所以针对这种情况,Spring Security会默认创建一个新的Session,具体可以通过session-fixation-protection属性来配置
- none 不做任何处理,保留原来的session
- newSession 创建一个新的session,丢弃原来session中的数据
- migrateSession 创建一个新的session,把原来session中的数据合并到新的session中。这个是Servlet3.0及以上的默认行为
- changeSessionId 不创建session,只是修改sessionID(使用Servlet Container提供的session固化保护)
另外登出时,invalidate-session默认会使原来的session失效。
评论
新的评论
上一篇
Spring Boot应用从main方法运行
Spring Boot的应用是可以通过main方法中运行SpringApplication.run()来启动的。如果项目使用了gradle或者maven,则可以通过 gradle bootRun 或者 mvn spring-boot:run 等插件来运行。 但是运行起来是有不同…
下一篇
Android使用HTTPS通信
Android使用HTTPS通信首先需要告诉底层的HTTP客户端,对应https的Schema,使用什么端口,进行SSLSocket的通信。 这里以Httpclient为例 HostnameVerifier有下面几个策略 ALLOW_ALL_HOSTNAME_VERIFIER …
