From 8acdbcfbe06832f35963201c5bacd86dc3e7092d Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期一, 14 十月 2024 10:54:20 +0800
Subject: [PATCH] WCS

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs"
index e4451c4..e91a216 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/HttpContextUser/AspNetUser.cs"
@@ -13,28 +13,34 @@
 using WIDESEAWCS_Core.DB;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core.Seed;
+using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
 
 namespace WIDESEAWCS_Core.HttpContextUser
 {
     public class AspNetUser : IUser
     {
         private readonly IHttpContextAccessor _accessor;
+        private readonly ICacheService _cacheService;
         //private readonly ILogger<AspNetUser> _logger;
 
-        public AspNetUser(IHttpContextAccessor accessor/*, ILogger<AspNetUser> logger*/)
+        public AspNetUser(IHttpContextAccessor accessor, ICacheService cacheService)
         {
             _accessor = accessor;
+            _cacheService = cacheService;
             /*_logger = logger;*/
         }
 
         public string UserName => GetUserInfoFromToken(ClaimTypes.Name).FirstOrDefault() ?? "";
 
         public int UserId => GetClaimValueByType(JwtRegisteredClaimNames.Jti) == null ? 0 : GetClaimValueByType(JwtRegisteredClaimNames.Jti).FirstOrDefault()?.ObjToInt() ?? 0;
+
         public long TenantId => GetUserInfoFromToken(nameof(TenantId)).FirstOrDefault()?.ObjToLong() ?? -1;
 
         public int RoleId => GetUserInfoFromToken(ClaimTypes.Role).FirstOrDefault()?.ObjToInt() ?? 0;
 
         public string Token => GetToken();
+
+        public int MenuType => (_accessor.HttpContext?.Request.Headers.ContainsKey("uniapp") ?? false) ? 1 : 0;
 
         public bool IsAuthenticated()
         {
@@ -43,7 +49,15 @@
 
         public string GetToken()
         {
-            return _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? "";
+            string token = _cacheService.Get(UserId.ToString());
+            if (!string.IsNullOrEmpty(token)) { return token; }
+            return string.Empty;
+            //return _accessor.HttpContext?.Request?.Headers["Authorization"].ObjToString().Replace("Bearer ", "") ?? "";
+        }
+
+        public void UpdateToke(string token)
+        {
+            _cacheService.AddOrUpdate(UserId.ToString(), token);
         }
 
         public bool IsSuperAdmin => IsRoleIdSuperAdmin(RoleId);

--
Gitblit v1.9.3