天天看点

SpringSecurity-2-SessionManagementConfigurer类

注:虽然sipring提供了该类,个人觉得该类作用并不太大,项目中如果使用这个类,只能说明使用这个类的人有种化简为繁的嫌疑

该类是一个会话管理配置器,可以用HttpSecurity.sessionManagement()方法创建,具体创建方法如下

@Override
protected void configure(HttpSecurity http) throws Exception{
    http.sessionManagement();
}      

会话管理器有下面四种策略

1.none:不做任何变动,登录之后延用旧的session

2.newSession:登录之后创建一个新的session

3.migrateSession:登录之后创建一个新的session,并且将旧的session中的数据复制过来(默认就是该策略)

4.changeSessionId:不创建新的会话,而是使用由Servlet容器提供的会话固定保护

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

下面代码演示了使用none的策略

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