Spring mvc 并发会话并记住我

Spring mvc 并发会话并记住我,spring-mvc,spring-boot,spring-security,remember-me,Spring Mvc,Spring Boot,Spring Security,Remember Me,我这样做: 用户登录并选中位置1中的“记住我”框 用户登录且未选中位置2中的“记住我”框 相同的帐户,然后用户注销 有一个问题: 用户在place2中注销后,用户的记住我持久令牌 在数据库中也被删除(我使用 PersistentTokenBasedMemberMeservices) 我想做: 用户登录并没有选中记住我在place2,然后注销,它 不会影响数据库中的持久令牌 我怎样才能解决这个问题呢?我做了如下工作,而且措辞很好 public class MyRememberMeServi

我这样做:

  • 用户登录并选中位置1中的“记住我”框

  • 用户登录且选中位置2中的“记住我”框 相同的帐户,然后用户注销

  • 有一个问题:

    • 用户在place2中注销后,用户的记住我持久令牌 在数据库中也被删除(我使用
      PersistentTokenBasedMemberMeservices
    我想做:

    • 用户登录并没有选中记住我在place2,然后注销,它 不会影响数据库中的持久令牌

    我怎样才能解决这个问题呢?

    我做了如下工作,而且措辞很好

    public class MyRememberMeService extends PersistentTokenBasedRememberMeServices {
        public MyRememberMeService(String key, UserDetailsService userDetailsService, PersistentTokenRepository tokenRepository) {
            super(key, userDetailsService, tokenRepository);
        }
    
        @Override
        public void logout(HttpServletRequest request, HttpServletResponse response, Authentication authentication) {
            String rememberMeCookie = extractRememberMeCookie(request);
            if (rememberMeCookie == null || rememberMeCookie.length() == 0) {
                if (logger.isDebugEnabled()) {
                    logger.debug("Logout of user "
                            + (authentication == null ? "Unknown" : authentication.getName()));
                }
                cancelCookie(request, response);
            } else {
                super.logout(request, response, authentication);
            }
        }
    }