重定向到登录页会话在用户不活动1分钟后过期

zvms9eto  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(269)

我目前正在使用thymeleaf和spring starter security
我想做的是:会话在1分钟后超时
这是我的配置

@Override
    protected void configure(HttpSecurity http) throws Exception {

        // @formatter:off
        http.csrf().disable()
            .authorizeRequests()
            .antMatchers("/login*").permitAll()
            .antMatchers("/","/userList")
            .permitAll().anyRequest().authenticated()
            .and()
            .formLogin()
                .loginPage("/login").permitAll()
                .defaultSuccessUrl("/usersList", true)
                    .successHandler(new AuthenticationSuccessHandler() {
                    @Override
                    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
                            Authentication authentication) throws IOException, ServletException {                       
                        response.sendRedirect("/userList");

                        request.getSession().setMaxInactiveInterval(60);
                    }
                })
                .and()
                .logout().permitAll()
                .and()
                .sessionManagement()
                    .invalidSessionUrl("/login")
                    .maximumSessions(1)
                        .maxSessionsPreventsLogin(false)
                        .expiredUrl("/login?expired");  // redirect to login page after session expire

        http.headers().frameOptions().disable();

我尝试过:
我实现了一个会话事件监听器,以便在创建和销毁会话时打印出来
但是,request.getsession().setmaxinactiveinterval(60);没有工作,1分钟后,它没有重定向回登录页面
这两行代码位于application.properties中

server.servlet.session.timeout=60s
server.session.timeout=60s

我也在这里尝试了所有建议的解决方案,但也没有奏效
预期结果:1分钟不活动后重定向到登录页
实际结果:不活动1分钟后未重定向

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题