From ffb2063003d3e735f3f8848207078b75c3f05bfa Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Fri, 21 May 2021 16:24:40 +0800 Subject: [PATCH] screen-manage 修改删除用户BUG --- screen-common/src/main/java/com/moral/util/TokenUtils.java | 100 +++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 86 insertions(+), 14 deletions(-) diff --git a/screen-common/src/main/java/com/moral/util/TokenUtils.java b/screen-common/src/main/java/com/moral/util/TokenUtils.java index d1aa0aa..e580762 100644 --- a/screen-common/src/main/java/com/moral/util/TokenUtils.java +++ b/screen-common/src/main/java/com/moral/util/TokenUtils.java @@ -9,8 +9,12 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; +import org.springframework.util.ObjectUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; import java.util.concurrent.TimeUnit; /** @@ -32,19 +36,20 @@ } //token��������� ������������ - private static final int validity_time = 60*30; + private static final int validity_time = 60 * 30; //������user_token���������������������token - public static boolean hHasKey(String uid){ - return redisTemplate.opsForHash().hasKey("user_token",uid); + public static boolean hHasKey(String uid) { + return redisTemplate.opsForHash().hasKey("user_token", uid); } //������������id������token - public static Object hget(String uid){ - return redisTemplate.opsForHash().get("user_token",uid); + public static Object hget(String uid) { + return redisTemplate.opsForHash().get("user_token", uid); } + /** - * @Description: ������token,��������������������������������� + * @Description: ������token, ��������������������������������� * @Param: [uid] type��� ���������������manage ���������������api * @return: java.lang.String * @Author: ��������� @@ -61,12 +66,12 @@ redisTemplate.delete(oldToken); //���token���������value��� redisTemplate.opsForValue().set(token, userInfo); - redisTemplate.expire(token, validity_time, TimeUnit.SECONDS); + //redisTemplate.expire(token, validity_time, TimeUnit.SECONDS); //���token���������Hash��� redisTemplate.opsForHash().put("user_token", uid, token); return token; } catch (Exception e) { - log.error("token���������������"+e.getMessage()); + log.error("token���������������" + e.getMessage()); throw new TokenException(ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode(), ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg()); } @@ -76,7 +81,7 @@ /** * @Description: ������token * @Param: [type, token] type��� ���������������manage ���������������api - * @return: java.util.Map<java.lang.String , java.lang.Object> + * @return: java.util.Map<java.lang.String , java.lang.Object> * @Author: ��������� * @Date: 2021/3/10 */ @@ -94,22 +99,22 @@ ResponseCodeEnum.TOKEN_INVALID.getMsg()); } } catch (Exception e) { - log.error("token���������������token������" + e.getMessage()); throw new TokenException(ResponseCodeEnum.TOKEN_INVALID.getCode(), ResponseCodeEnum.TOKEN_INVALID.getMsg()); } } + /** - * @Description: ������token������������������ ������������ + * @Description: ������token������������������ * @Param: [token] - * @return: java.util.Map<java.lang.String , java.lang.Object> + * @return: java.util.Map<java.lang.String , java.lang.Object> * @Author: ��������� * @Date: 2021/3/11 */ public static Object getUserInfoByToken(String token) { Object userInfo = redisTemplate.opsForValue().get(token); - if(userInfo==null) + if (userInfo == null) throw new TokenException(ResponseCodeEnum.TOKEN_INVALID.getCode(), ResponseCodeEnum.TOKEN_INVALID.getMsg()); return userInfo; @@ -123,9 +128,76 @@ * @Date: 2021/3/11 */ public static void destoryToken(String uid, String token) { + if(ObjectUtils.isEmpty(uid)||ObjectUtils.isEmpty(token)) + return; redisTemplate.delete(token); redisTemplate.opsForHash().delete("user_token", uid); } + + + /** + * @Description: ������token + * @Param: [token] + * @return: void + * @Author: ��������� + * @Date: 2021/4/1 + */ + public static void destoryToken(String token) { + destoryToken(getUidByToken(token), token); + } + + /** + * @Description: ���������������������token + * @Param: [] + * @return: void + * @Author: ��������� + * @Date: 2021/5/21 + */ + public static void destoryToken() { + destoryToken(getCurrentToken()); + } + + public static void destoryToken(Integer id) { + String token = getTokenById(id); + destoryToken(String.valueOf(id),token); + } + + /** + * @Description: ������id������token + * @Param: [] + * @return: java.lang.String + * @Author: ��������� + * @Date: 2021/5/21 + */ + public static String getTokenById(Integer id) { + return (String)redisTemplate.opsForHash().get("user_token", String.valueOf(id)); + } + + + /** + * @Description: ������TOKEN������Id + * @Param: [token] + * @return: void + * @Author: ��������� + * @Date: 2021/4/1 + */ + public static String getUidByToken(String token) { + String[] string = TokenEncryptUtils.decoded(token).split("/"); + return string[0]; + } + + /** + * @Description: ���������������������token + * @Param: [] + * @return: java.lang.String + * @Author: ��������� + * @Date: 2021/5/21 + */ + public static String getCurrentToken() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + return request.getHeader("token"); + } + /** * @Description: token������ @@ -134,7 +206,7 @@ * @Author: ��������� * @Date: 2021/3/11 */ - public static void extendTokenTime(String token) { + public static void extendTokenTime(String token) { redisTemplate.expire(token, validity_time, TimeUnit.SECONDS); } } -- Gitblit v1.8.0