zwzw1219 2017-10-15 20:11:03 +08:00
parent d7900d885b
commit 2e913d2aca
3 changed files with 15 additions and 3 deletions

View File

@ -16,13 +16,14 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@Getter
@Setter
public class LoginUser extends SysUser implements UserDetails { public class LoginUser extends SysUser implements UserDetails {
private static final long serialVersionUID = 5847622956044304250L; private static final long serialVersionUID = -1379274258881257107L;
@Getter
@Setter
private List<Permission> permissions; private List<Permission> permissions;
private String token;
@Override @Override
@JsonIgnore @JsonIgnore

View File

@ -14,6 +14,8 @@ public interface TokenService {
Token saveToken(LoginUser loginUser); Token saveToken(LoginUser loginUser);
void updateLoginUser(LoginUser loginUser);
LoginUser getLoginUser(String token); LoginUser getLoginUser(String token);
boolean deleteToken(String token); boolean deleteToken(String token);

View File

@ -26,11 +26,20 @@ public class TokenServiceImpl implements TokenService {
@Override @Override
public Token saveToken(LoginUser loginUser) { public Token saveToken(LoginUser loginUser) {
String token = UUID.randomUUID().toString(); String token = UUID.randomUUID().toString();
loginUser.setToken(token);
redisTemplate.boundValueOps(getKey(token)).set(loginUser, expireSeconds, TimeUnit.SECONDS); redisTemplate.boundValueOps(getKey(token)).set(loginUser, expireSeconds, TimeUnit.SECONDS);
return Token.builder().token(token).build(); return Token.builder().token(token).build();
} }
/**
*
*/
@Override
public void updateLoginUser(LoginUser loginUser) {
redisTemplate.boundValueOps(getKey(loginUser.getToken())).set(loginUser, expireSeconds, TimeUnit.SECONDS);
}
@Override @Override
public LoginUser getLoginUser(String token) { public LoginUser getLoginUser(String token) {
return redisTemplate.boundValueOps(getKey(token)).get(); return redisTemplate.boundValueOps(getKey(token)).get();