Spring Security - 注销后无法登录

时间:2017-04-14 05:25:12

标签: java spring-mvc spring-security

我想允许用户只创建一个当前会话。在我的情况下,它允许用户只创建一个会话,但是一旦用户注销,他就无法再次登录。

安全配置文件:

        .and()
    .csrf()
        .and()
    .exceptionHandling()
        .accessDeniedPage("/accessDenied")
        .and()
    .sessionManagement()
        .maximumSessions(1)
        .expiredUrl("/login")
        .maxSessionsPreventsLogin(true)
        .sessionRegistry(sessionRegistry()) ;
}

@Bean
public SessionRegistry sessionRegistry() {
    SessionRegistry sessionRegistry = new SessionRegistryImpl();
    return sessionRegistry;
}

退出控制器:

@RequestMapping(value="/logout", method = RequestMethod.GET)
public String logoutPage (HttpServletRequest request, HttpServletResponse response) {
    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    if (auth != null) {    
        new SecurityContextLogoutHandler().logout(request, response, auth);
    }

    return "redirect:/login?logout";
}

我已经尝试过无效并销毁Cookie,但仍无效。

0 个答案:

没有答案