在使用springboot开发过程中发现用户登陆后60s后session就自动失效了,需要重新登陆,明明 application.yml 文件里已经配置了 server.session.timeout 的失效时长,但是并没有效果。
通过简单的分析,spring1.4后基于注解开发,几乎抛弃了繁琐了XML配置文件,既然是通过注解来开发的 那么为什么不通过注解来给我们的session设置生命周期呢?
PS:通过 request.getSession().getMaxInactiveInterval() 可以查看你的session时间
此时发现到了我的session周期为60s,现在我们怎么解决呢 怎么通过注解来给我们的session设定时间周期呢?
在我们启动器中 也就是
1 public static void main(String[] args) throws Exception{ 2 SpringApplication.run(Application.class, args); 3 }
这个类中我们在上面添加一个注解:
1 @Bean 2 public EmbeddedServletContainerCustomizer containerCustomizer(){ 3 return new EmbeddedServletContainerCustomizer() { 4 @Override 5 public void customize(ConfigurableEmbeddedServletContainer Container) { 6 container.setSessionTimeout(1800);//单位为S 7 } 8 }; 9 }
这样我们的session生命就处理完毕。