From 6588756cf95e8295a93a2826137322b2e7fc6e80 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期三, 19 十月 2022 14:27:47 +0800
Subject: [PATCH] 修改【角色管理】无法搜索 bug
---
flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 53 insertions(+), 4 deletions(-)
diff --git a/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java b/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java
index fd6a87c..66972db 100644
--- a/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java
+++ b/flower_city/src/main/java/com/dg/core/manager/RedisTokenManager.java
@@ -1,12 +1,15 @@
package com.dg.core.manager;
import com.dg.core.Constant;
+import io.jsonwebtoken.Claims;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.script.DigestUtils;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@@ -15,8 +18,8 @@
* 通过Redis存储和验证token的实现类
*/
@Component
-public class RedisTokenManager implements TokenManager {
-
+public class RedisTokenManager implements TokenManager
+{
private RedisTemplate<String, String> redis;
@Qualifier("redisTemplate")
@@ -38,9 +41,8 @@
return token;
}
-
public boolean checkToken(String token) {
- if (token == null) {
+ if (StringUtils.isEmpty(token)) {
return false;
}
String userId = redis.boundValueOps(token).get();
@@ -53,6 +55,30 @@
}
+ /**
+ * 验证花城token
+ * @param token
+ * @return
+ */
+ @Override
+ public boolean checkHCToken(String token) {
+ if (StringUtils.isEmpty(token)) {
+ return false;
+ }
+ // token解析
+ Claims claims = JWTTokenUtil.getClaimsFromToken(token);
+ if (ObjectUtils.isEmpty(claims)) {
+ return false;
+ }
+ String userId = claims.getSubject();
+ if (ObjectUtils.isEmpty(userId))
+ {
+ return false;
+ }
+ return true;
+ }
+
+
@Override
public long getUserId(String token) {
if (token == null) {
@@ -62,6 +88,29 @@
return Long.parseLong(userId);
}
+ /**
+ * 获取花城e+的 UserId
+ * @param token
+ * @return
+ */
+ @Override
+ public long getHCUserId(String token) {
+ if (token == null) {
+ return -1;
+ }
+ // token解析
+ Claims claims = JWTTokenUtil.getClaimsFromToken(token);
+ if (ObjectUtils.isEmpty(claims)) {
+ return -1;
+ }
+ String userId = claims.getSubject();
+ if (ObjectUtils.isEmpty(userId))
+ {
+ return -1;
+ }
+ return Long.parseLong(userId);
+ }
+
public void deleteToken(String token) {
redis.delete(token);
}
--
Gitblit v1.7.1