From 0ecadf2d4500e018ef59c5d7c0eb3b23856580f0 Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期一, 27 四月 2026 15:11:11 +0800
Subject: [PATCH] 调整 token自动刷新接口,解决token 无法自动刷新的问题
---
WebAPI/Service/JwtAuthorizeAttribute.cs | 34 +++++++++++++++++++++-------------
1 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/WebAPI/Service/JwtAuthorizeAttribute.cs b/WebAPI/Service/JwtAuthorizeAttribute.cs
index 7e773e5..3ef48a0 100644
--- a/WebAPI/Service/JwtAuthorizeAttribute.cs
+++ b/WebAPI/Service/JwtAuthorizeAttribute.cs
@@ -33,7 +33,7 @@
{
try
{
- // 妫�鏌ュ尶鍚嶈闂�
+ // 妫�鏌ュ尶鍚嶈闂�(璁よ瘉)
if (IsAnonymousAllowed(actionContext)) return;
// 鑾峰彇Token
@@ -58,25 +58,20 @@
// 楠岃瘉鏄惁鎷ユ湁璁块棶妯″潡鐨勬潈闄�
// 鏈変袱绉嶅垽鏂柟寮� 涓�绉嶆槸閫氳繃瑙掕壊鍘诲垽鏂紝涓�绉嶆槸閫氳繃鐢ㄦ埛鍘诲垽鏂� 鐩墠鏆傛椂涓嶅仛鍖哄垎锛屽悗缁彲澧炲姞绯荤粺鍙傛暟鏉ヨ繘琛屽尯鍒�
- // 鑾峰彇鎺у埗鍣ㄦ弿杩板櫒
- HttpControllerDescriptor controllerDescriptor = actionContext.ControllerContext.ControllerDescriptor;
- // //鑾峰彇鎺у埗鍣ㄧ被鍨�
- Type controllerType = controllerDescriptor.ControllerType;
- // // 鑾峰彇鎺у埗鍣ㄧ骇鍒爣绛�
- var controllerAttr = controllerType.GetCustomAttribute<PermissionAttribute>();
- //
- var actionAttr = actionContext.ActionDescriptor
- .GetCustomAttributes<PermissionAttribute>()
- .FirstOrDefault();
+ // 瀹夊叏鎺у埗鍣ㄦ弿鏍囩
+ var controllerAttr = actionContext.ControllerContext?.ControllerDescriptor?.GetCustomAttributes<PermissionAttribute>().FirstOrDefault();
+
+ // 瀹夊叏鑾峰彇Action鏍囩
+ var actionAttr = actionContext.ActionDescriptor?.GetCustomAttributes<PermissionAttribute>().FirstOrDefault();
string PermissionStr = string.Empty;
// 鍒ゆ柇鎺у埗鍣ㄧ骇鍒笂鏄惁鍚敤浜嗛壌鏉冩爣绛�
- if(controllerAttr != null && !string.IsNullOrWhiteSpace(controllerAttr.HModName))
+ if(controllerAttr != null && !string.IsNullOrWhiteSpace(controllerAttr?.HModName))
{
PermissionStr += controllerAttr.HModName;
// 鏌ョ湅鏄惁闇�瑕佹洿缁嗙矑搴︾殑鎺у埗
- if(actionAttr != null && !string.IsNullOrWhiteSpace(actionAttr.Operate))
+ if(actionAttr != null && !string.IsNullOrWhiteSpace(actionAttr?.Operate))
{
// 璇ュ姩浣滃搴旂殑妯″潡鍚嶅拰鎺у埗鍣ㄥ悕鏄惁涓嶄竴鑷�
if (string.IsNullOrWhiteSpace(actionAttr.HModName))
@@ -99,6 +94,19 @@
}
}
+ }else if (actionAttr != null && !string.IsNullOrWhiteSpace(actionAttr?.HModName) && !string.IsNullOrWhiteSpace(actionAttr?.Operate))
+ {
+ // 鍗曠嫭鍦ㄥ姩浣滀笂鍚敤閴存潈鍔熻兘
+ PermissionStr = actionAttr.HModName + actionAttr.Operate;
+
+ if (!string.IsNullOrWhiteSpace(PermissionStr))
+ {
+ if (!DBUtility.ClsPub.Security_Log(PermissionStr, 1, false, JWTHelper.getUserName(token)))
+ {
+ HandleForbidden(actionContext);
+ return;
+ }
+ }
}
--
Gitblit v1.9.1