From 29e015aa8b4e6a867ced2b27c561f9dd3a02cafa Mon Sep 17 00:00:00 2001 From: zwzw1219 Date: Sun, 15 Oct 2017 21:32:02 +0800 Subject: [PATCH] 1 --- .../security/server/config/SecurityHandlerConfig.java | 10 +--------- .../security/server/service/impl/TokenServiceImpl.java | 6 ++++++ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/boot/security/server/config/SecurityHandlerConfig.java b/src/main/java/com/boot/security/server/config/SecurityHandlerConfig.java index 23c604a..56c5155 100644 --- a/src/main/java/com/boot/security/server/config/SecurityHandlerConfig.java +++ b/src/main/java/com/boot/security/server/config/SecurityHandlerConfig.java @@ -15,7 +15,6 @@ import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.AuthenticationFailureHandler; import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; -import org.springframework.util.StringUtils; import com.boot.security.server.dto.LoginUser; import com.boot.security.server.dto.ResponseInfo; @@ -42,15 +41,8 @@ public class SecurityHandlerConfig { public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { LoginUser loginUser = (LoginUser) authentication.getPrincipal(); - Token token = null; - String _token = tokenService.getTokenByUserId(loginUser.getId()); - if (!StringUtils.isEmpty(_token)) { - token = Token.builder().token(_token).build(); - tokenService.addExpireTime(loginUser); - } else { - token = tokenService.saveToken(loginUser); - } + Token token = tokenService.saveToken(loginUser); ResponseUtil.responseJson(response, HttpStatus.OK.value(), token); } }; diff --git a/src/main/java/com/boot/security/server/service/impl/TokenServiceImpl.java b/src/main/java/com/boot/security/server/service/impl/TokenServiceImpl.java index 6acf09e..febdb23 100644 --- a/src/main/java/com/boot/security/server/service/impl/TokenServiceImpl.java +++ b/src/main/java/com/boot/security/server/service/impl/TokenServiceImpl.java @@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import com.boot.security.server.dto.LoginUser; import com.boot.security.server.dto.Token; @@ -28,6 +29,11 @@ public class TokenServiceImpl implements TokenService { @Override public Token saveToken(LoginUser loginUser) { + String oldToken = idTokenRedisTemplate.opsForValue().get(loginUser.getId()); + if (!StringUtils.isEmpty(oldToken)) { + deleteToken(oldToken); + } + String token = UUID.randomUUID().toString(); loginUser.setToken(token); updateLoginUser(loginUser);