From 5f0170df9787c6f3ff17cc168b3f2e3f511453f6 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 31 十月 2023 20:04:16 +0800
Subject: [PATCH] 支持职级降级的情况
---
middleware/jwt.go | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/middleware/jwt.go b/middleware/jwt.go
index 35509b7..907a1d0 100644
--- a/middleware/jwt.go
+++ b/middleware/jwt.go
@@ -98,17 +98,28 @@
// parseToken 瑙f瀽token鍖呭惈鐨勪俊鎭�
claims, err := j.ParseToken(token)
if err != nil {
- if err == utils.TokenExpired {
- c.Next()
- return
- }
- c.Next()
+ ctx.Fail(ecode.JWTDisabled)
+ c.Abort()
+ return
+ }
+ userInfo := service.GetUserBaseCache(claims.UserId)
+ if userInfo == nil {
+ SyncUserInfo([]string{claims.UserId})
+ userInfo = service.GetUserBaseCache(claims.UserId)
+ }
+ if userInfo == nil {
+ ctx.Fail(ecode.JWTDisabled)
+ c.Abort()
return
}
- c.Set("claims", claims)
+ SetActiveTime(claims.UserId)
- if CheckAuth(c.Request.RequestURI, token) {
+ claims.CrmUserId = userInfo.UserId
+ claims.NickName = userInfo.NickName
+ claims.SubUserIds = userInfo.SubUserIds
+ c.Set("claims", claims)
+ if CheckAuth(c.Request.URL.Path, token) {
c.Next()
} else {
ctx.Fail(ecode.JWTDisabled)
--
Gitblit v1.8.0