diff --git a/src/main/java/com/boot/security/server/dto/LoginUser.java b/src/main/java/com/boot/security/server/dto/LoginUser.java index 7bc123e..2839bc8 100644 --- a/src/main/java/com/boot/security/server/dto/LoginUser.java +++ b/src/main/java/com/boot/security/server/dto/LoginUser.java @@ -16,13 +16,14 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Getter; import lombok.Setter; +@Getter +@Setter public class LoginUser extends SysUser implements UserDetails { - private static final long serialVersionUID = 5847622956044304250L; + private static final long serialVersionUID = -1379274258881257107L; - @Getter - @Setter private List permissions; + private String token; @Override @JsonIgnore diff --git a/src/main/java/com/boot/security/server/service/TokenService.java b/src/main/java/com/boot/security/server/service/TokenService.java index 059aedf..3fa6f6e 100644 --- a/src/main/java/com/boot/security/server/service/TokenService.java +++ b/src/main/java/com/boot/security/server/service/TokenService.java @@ -14,6 +14,8 @@ public interface TokenService { Token saveToken(LoginUser loginUser); + void updateLoginUser(LoginUser loginUser); + LoginUser getLoginUser(String token); boolean deleteToken(String 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 72fc381..c6718f5 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 @@ -26,11 +26,20 @@ public class TokenServiceImpl implements TokenService { @Override public Token saveToken(LoginUser loginUser) { String token = UUID.randomUUID().toString(); + loginUser.setToken(token); redisTemplate.boundValueOps(getKey(token)).set(loginUser, expireSeconds, TimeUnit.SECONDS); return Token.builder().token(token).build(); } + /** + * 更新缓存的用户信息 + */ + @Override + public void updateLoginUser(LoginUser loginUser) { + redisTemplate.boundValueOps(getKey(loginUser.getToken())).set(loginUser, expireSeconds, TimeUnit.SECONDS); + } + @Override public LoginUser getLoginUser(String token) { return redisTemplate.boundValueOps(getKey(token)).get();