namespace Admin.NET.Core; /// /// 当前登录用户 /// public class UserManager : IScoped { private readonly IHttpContextAccessor _httpContextAccessor; private long _tenantId; public long UserId { get => long.Parse(_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.UserId)?.Value); } public long TenantId { get { var tId = _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.TenantId)?.Value; return string.IsNullOrWhiteSpace(tId) ? _tenantId : long.Parse(tId); } set => _tenantId = value; } public string Account { get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.Account)?.Value; } public string RealName { get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.RealName)?.Value; } public bool SuperAdmin { get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.AccountType)?.Value == ((int)AccountTypeEnum.SuperAdmin).ToString(); } public long OrgId { get { var orgId = _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.OrgId)?.Value; return string.IsNullOrWhiteSpace(orgId) ? 0 : long.Parse(orgId); } } public string OpenId { get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.OpenId)?.Value; } public UserManager(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } }