在使用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生命就處理完畢。