From 41a5531dc31a642623f0a7a766fbe9c256ba9247 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期二, 11 二月 2025 13:53:29 +0800
Subject: [PATCH] 优化WMS前端
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/JwtTokenAuthMiddleware.cs | 94 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 94 insertions(+), 0 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/JwtTokenAuthMiddleware.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/JwtTokenAuthMiddleware.cs"
new file mode 100644
index 0000000..ef95892
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Core/Middlewares/JwtTokenAuthMiddleware.cs"
@@ -0,0 +1,94 @@
+锘縰sing Microsoft.AspNetCore.Http;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.Authorization;
+using WIDESEA_Core.HttpContextUser;
+
+namespace WIDESEA_Core.Middlewares
+{
+ /// <summary>
+ /// 涓棿浠�
+ /// 鍘熷仛涓鸿嚜瀹氫箟鎺堟潈涓棿浠�
+ /// 鍏堝仛妫�鏌� header token鐨勪娇鐢�
+ /// </summary>
+ public class JwtTokenAuthMiddleware
+ {
+ /// <summary>
+ ///
+ /// </summary>
+ private readonly RequestDelegate _next;
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="next"></param>
+ public JwtTokenAuthMiddleware(RequestDelegate next)
+ {
+ _next = next;
+ }
+
+
+ private void PreProceed(HttpContext next)
+ {
+ //Console.WriteLine($"{DateTime.Now} middleware invoke preproceed");
+ //...
+ }
+ private void PostProceed(HttpContext next)
+ {
+ //Console.WriteLine($"{DateTime.Now} middleware invoke postproceed");
+ //....
+ }
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="httpContext"></param>
+ /// <returns></returns>
+ public Task Invoke(HttpContext httpContext)
+ {
+ PreProceed(httpContext);
+
+
+ //妫�娴嬫槸鍚﹀寘鍚�'Authorization'璇锋眰澶�
+ if (!httpContext.Request.Headers.ContainsKey("Authorization"))
+ {
+ PostProceed(httpContext);
+
+ return _next(httpContext);
+ }
+ //var tokenHeader = httpContext.Request.Headers["Authorization"].ToString();
+ var tokenHeader = httpContext.Request.Headers["Authorization"].ToString().Replace("Bearer ", "");
+
+ try
+ {
+ if (tokenHeader.Length >= 128)
+ {
+ //Console.WriteLine($"{DateTime.Now} token :{tokenHeader}");
+ UserInfo tm = JwtHelper.SerializeJwt(tokenHeader);
+
+ //鎺堟潈
+ //var claimList = new List<Claim>();
+ //var claim = new Claim(ClaimTypes.Role, tm.Role);
+ //claimList.Add(claim);
+ //var identity = new ClaimsIdentity(claimList);
+ //var principal = new ClaimsPrincipal(identity);
+ //httpContext.User = principal;
+ }
+
+ }
+ catch (Exception e)
+ {
+ Console.WriteLine($"{DateTime.Now} middleware wrong:{e.Message}");
+ }
+
+
+ PostProceed(httpContext);
+
+
+ return _next(httpContext);
+ }
+
+ }
+}
--
Gitblit v1.9.3