123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using Bowin.Common.Cache;
- using Bowin.Common.JSON;
- using Bowin.Common.Utility;
- using Microsoft.AspNetCore.Http;
- using System;
- using System.Collections.Generic;
- using System.Security.Claims;
- using System.Text;
- namespace Bowin.Common.ServiceToken
- {
- public class JwtUser<T>
- {
- public static T Current
- {
- get
- {
- var contextUser = HttpHelper.Accessor.HttpContext.User;
- if (contextUser == null)
- {
- return default(T);
- }
- var userCliam = contextUser.FindFirst(ClaimTypes.Name); //contextUser.FindFirst(ClaimTypes.UserData);
- if (userCliam == null)
- {
- return default(T);
- }
- var userJson = (string)CacheHelper.Get("uinfo_" + userCliam.Value);
- if (string.IsNullOrEmpty(userJson))
- {
- var userInfo = JwtHelper.GetRefreshUserFunc.DynamicInvoke(new Guid(userCliam.Value));
- if (userInfo == null)
- {
- return default(T);
- }
- userJson = userInfo.ToJson();
- CacheHelper.Add("uinfo_" + userCliam.Value, userJson);
- }
- return userJson.ToObject<T>();
- }
- }
- }
- }
|