SpringSecurity-2-SessionManagementConfigurer类

是一个会话管理配置器,可以用sessionManagement()方法创建
有四种策略,默认migrateSession,个人觉得完全不需要额外配置,因为当我们试图访问带有session的URL时候,会被spring security的HTTP防火墙自动重定向到一个错误页,所以如果你发现你的项目中配置了该策略,那么个人认为完全是没事儿瞎扯淡

1.none:不做任何变动,登录之后延用旧的session
2.newSession:登录之后创建一个新的session
3.migrateSession:登录之后创建一个新的session,并且将旧的session中的数据复制过来
4.changeSessionId:不创建新的会话,而是使用由Servlet容器提供的会话固定保护

下面代码表示了启用防御会话固定攻击策略中的:不做任何变动,登录之后延用旧的session

@Override
protected void configure(HttpSecurity http) throws Exception{
		http.authorizeRequests().XXXX方法.and().sessionManagement().sessionFixation().none();
}

什么叫会话固定攻击?(个人建议完全不需要理解这个概念,都9102年了,谁还不登录重新生成)
有时候cookie会被用户在浏览器中禁用,所以基于cookie实现的sessionId自然就无法正常使用了,因此,有些服务支持用URL重写的方式来代替禁用cookie之后的体验,例如:
http://xxx.com;jsessionId=xxxx
这个时候用户A访问一次系统,然后得到sessionId,并将自己拼接的URL发给用户B,B用这个URL登录系统,成功之后,用户A就能一直用这个URL做用户B的事情,相当于A使用了B的账号操作

你可能感兴趣的:(SpringSecurity)