From 981a80940e47409300c09847684ca530f75b4a5f Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 10 一月 2025 23:56:33 +0800
Subject: [PATCH] 优化WCS辅料出库逻辑
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs | 57 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 47 insertions(+), 10 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs"
index 1bf7f75..4ad30c7 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs"
@@ -9,12 +9,8 @@
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
-using WIDESEA_Core.Authorization;
-using WIDESEA_Core.Caches;
-using WIDESEA_Core.Const;
-using WIDESEA_Core.DB;
+using WIDESEA_Core.Extensions;
using WIDESEA_Core.Helper;
-using WIDESEA_Core.Seed;
using ICacheService = WIDESEA_Core.Caches.ICacheService;
namespace WIDESEA_Core.HttpContextUser
@@ -51,9 +47,35 @@
public string GetToken()
{
- string token = _cacheService.Get(UserId.ToString());
+ string token = "";
+ token = _cacheService.Get(UserId.ToString());
if (!string.IsNullOrEmpty(token)) { return token; }
- return string.Empty;
+ token = _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? "";
+ if (!token.IsNullOrEmpty())
+ {
+ return token;
+ }
+ //if (_accessor.HttpContext?.IsSuccessSwagger() ?? false)
+ //{
+ // token = _accessor.HttpContext.GetSuccessSwaggerJwt();
+ // if (token.IsNotEmptyOrNull())
+ // {
+ // List<Claim> claims1 = _accessor.HttpContext.User.Claims.ToList();
+ // if (_accessor.HttpContext.User.Claims.Any(s => s.Type == JwtRegisteredClaimNames.Jti))
+ // {
+ // return token;
+ // }
+
+ // var claims = new ClaimsIdentity(GetClaimsIdentity(token));
+ // _accessor.HttpContext.User.AddIdentity(claims);
+ // return token;
+ // }
+ //}
+ return token;
+
+ // string token = _cacheService.Get(UserId.ToString());
+ //if (!string.IsNullOrEmpty(token)) { return token; }
+ //return string.Empty;
//return _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? "";
}
@@ -75,9 +97,10 @@
{
JwtSecurityToken jwtToken = jwtHandler.ReadJwtToken(token);
- return (from item in jwtToken.Claims
- where item.Type == ClaimType
- select item.Value).ToList();
+ List<string> items = (from item in jwtToken.Claims
+ where item.Type == ClaimType
+ select item.Value).ToList();
+ return items;
}
return new List<string>() { };
@@ -99,6 +122,20 @@
return ArraySegment<Claim>.Empty;
}
+ public IEnumerable<Claim> GetClaimsIdentity(string token)
+ {
+ var jwtHandler = new JwtSecurityTokenHandler();
+ // token鏍¢獙
+ if (token.IsNotEmptyOrNull() && jwtHandler.CanReadToken(token))
+ {
+ var jwtToken = jwtHandler.ReadJwtToken(token);
+
+ return jwtToken.Claims;
+ }
+
+ return new List<Claim>();
+ }
+
public List<string> GetClaimValueByType(string ClaimType)
{
return (from item in GetClaimsIdentity()
--
Gitblit v1.9.3