UserManager.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // 大名科技(天津)有限公司版权所有 电话:18020030720 QQ:515096995
  2. //
  3. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证
  4. namespace Admin.NET.Core;
  5. /// <summary>
  6. /// 当前登录用户
  7. /// </summary>
  8. public class UserManager : IScoped
  9. {
  10. private readonly IHttpContextAccessor _httpContextAccessor;
  11. /// <summary>
  12. /// 用户ID
  13. /// </summary>
  14. public long UserId => (_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.UserId)?.Value).ToLong();
  15. /// <summary>
  16. /// 租户ID
  17. /// </summary>
  18. public long TenantId => (_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.TenantId)?.Value).ToLong();
  19. /// <summary>
  20. /// 用户账号
  21. /// </summary>
  22. public string Account => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.Account)?.Value;
  23. /// <summary>
  24. /// 真实姓名
  25. /// </summary>
  26. public string RealName => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.RealName)?.Value;
  27. /// <summary>
  28. /// 是否超级管理员
  29. /// </summary>
  30. public bool SuperAdmin => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.AccountType)?.Value == ((int)AccountTypeEnum.SuperAdmin).ToString();
  31. /// <summary>
  32. /// 组织机构Id
  33. /// </summary>
  34. public long OrgId => (_httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.OrgId)?.Value).ToLong();
  35. /// <summary>
  36. /// 微信OpenId
  37. /// </summary>
  38. public string OpenId => _httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.OpenId)?.Value;
  39. public UserManager(IHttpContextAccessor httpContextAccessor)
  40. {
  41. _httpContextAccessor = httpContextAccessor;
  42. }
  43. }