UserManager.cs 1.4 KB

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