From ce08db7fdb31a61c6ee672d89d6c4b4b66c1f6d6 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期四, 16 一月 2025 14:41:51 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs | 70 ++++++++++++++++++++++++++++------ 1 files changed, 57 insertions(+), 13 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..4637b01 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,18 +47,51 @@ public string GetToken() { - string token = _cacheService.Get(UserId.ToString()); - if (!string.IsNullOrEmpty(token)) { return token; } - return string.Empty; - //return _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? ""; + string token = ""; + + if (MenuType == 0) + { + token = _cacheService.Get(UserId.ToString()); + if (!string.IsNullOrEmpty(token)) { return token; } + token = _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? ""; + if (!token.IsNullOrEmpty()) + { + return token; + } + return token; + } + else + { + token = _cacheService.Get(UserId.ToString() + "-App"); + if (!string.IsNullOrEmpty(token)) { return token; } + token = _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? ""; + if (!token.IsNullOrEmpty()) + { + return token; + } + return token; + } } public void UpdateToke(string token) { - _cacheService.AddOrUpdate(UserId.ToString(), token); + if (MenuType == 0) + _cacheService.AddOrUpdate(UserId.ToString(), token); + else + _cacheService.AddOrUpdate(UserId.ToString() + "-App", token); + } + + public void UpdateToke(string token, int userId) + { + if (MenuType == 0) + _cacheService.AddOrUpdate(userId.ToString(), token); + else + _cacheService.AddOrUpdate(userId.ToString() + "-App", token); } public bool IsSuperAdmin => IsRoleIdSuperAdmin(RoleId); + + public bool IsHighestRole => UserId == 1; public List<string> GetUserInfoFromToken(string ClaimType) { @@ -75,9 +104,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 +129,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