UserManager.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. namespace Admin.NET.Core;
  3. /// <summary>
  4. /// 当前登录用户
  5. /// </summary>
  6. public class UserManager : IScoped
  7. {
  8. private readonly IHttpContextAccessor _httpContextAccessor;
  9. private long _tenantId;
  10. public long UserId
  11. {
  12. get => long.Parse(_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.UserId)?.Value);
  13. }
  14. public long TenantId
  15. {
  16. get
  17. {
  18. var tId = _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.TenantId)?.Value;
  19. return string.IsNullOrWhiteSpace(tId) ? _tenantId : long.Parse(tId);
  20. }
  21. set => _tenantId = value;
  22. }
  23. public string Account
  24. {
  25. get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.Account)?.Value;
  26. }
  27. public string RealName
  28. {
  29. get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.RealName)?.Value;
  30. }
  31. public bool SuperAdmin
  32. {
  33. get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.AccountType)?.Value == ((int)AccountTypeEnum.SuperAdmin).ToString();
  34. }
  35. public long OrgId
  36. {
  37. get => long.Parse(_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.OrgId)?.Value);
  38. }
  39. public string OpenId
  40. {
  41. get => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.OpenId)?.Value;
  42. }
  43. public UserManager(IHttpContextAccessor httpContextAccessor)
  44. {
  45. _httpContextAccessor = httpContextAccessor;
  46. }
  47. }