Spring Boot+SpringSecurity Session超时处理
设置Session超时时间
Session超时处理首先要设置Session超时时间。
查看Spring Boot2.0官网文档,可以看到设置Session超时时间还是很简单的:
在yml文件中:
设置为10秒(不设置默认是半小时),即连续10秒不操作就会失效:
简单测试一下,看是不是有效果:
系统登陆成功后,访问一个Controller:
等10秒之后,再访问看看:
任然可以访问,Session并没有失效,这是什么原因呢?
可以看看这样一个类:
有这样一个方法:
也就是说如果你设置的Session过期时间是小于1分钟的,那就是1分钟。
再访问,果然就进入了我配置的Session超时后的处理页面:
设置Session超时处理
增加这样一个配置即可:
可以在Controller的RequestMapping里面配置相应映射,我这里就是简单返回一个Json:
同时要注意这个路径一定要配置不被SpringSecurity拦截。