From 8d341db9d2d5699d527c88c935f0c4ce255a57a4 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期二, 10 十二月 2024 16:38:12 +0800 Subject: [PATCH] 代码提交 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/HttpContextUser/AspNetUser.cs | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 50 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..15b0ead 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,7 @@ 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.Helper; -using WIDESEA_Core.Seed; using ICacheService = WIDESEA_Core.Caches.ICacheService; namespace WIDESEA_Core.HttpContextUser @@ -51,9 +46,39 @@ public string GetToken() { - string token = _cacheService.Get(UserId.ToString()); + string token = _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? ""; + if (!token.IsNullOrEmpty()) + { + return token; + } + //if (_accessor.HttpContext?.IsSuccessSwagger() == true) + //{ + // token = _accessor.HttpContext.GetSuccessSwaggerJwt(); + // if (token.IsNotEmptyOrNull()) + // { + // //UserInfo userInfo = JwtHelper.SerializeJwt(token); + // //if (userInfo.UserId > 0) + // //{ + // // return token; + // //} + // 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; + // } + //} + token = _cacheService.Get(UserId.ToString()); if (!string.IsNullOrEmpty(token)) { return token; } - return string.Empty; + 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 +100,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 +125,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