0
0

User.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using Microsoft.AspNetCore.Http;
  2. namespace Admin.Core.Common.Auth
  3. {
  4. /// <summary>
  5. /// 用户信息
  6. /// </summary>
  7. public class User : IUser
  8. {
  9. private readonly IHttpContextAccessor _accessor;
  10. public User(IHttpContextAccessor accessor)
  11. {
  12. _accessor = accessor;
  13. }
  14. /// <summary>
  15. /// 用户Id
  16. /// </summary>
  17. public long Id
  18. {
  19. get
  20. {
  21. var id = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UserId);
  22. if (id != null && id.Value.NotNull())
  23. {
  24. return id.Value.ToLong();
  25. }
  26. return 0;
  27. }
  28. }
  29. /// <summary>
  30. /// 用户名
  31. /// </summary>
  32. public string Name
  33. {
  34. get
  35. {
  36. var name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UserName);
  37. if (name != null && name.Value.NotNull())
  38. {
  39. return name.Value;
  40. }
  41. return "";
  42. }
  43. }
  44. /// <summary>
  45. /// 姓名
  46. /// </summary>
  47. public string RealName
  48. {
  49. get
  50. {
  51. var name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UserRealName);
  52. if (name != null && name.Value.NotNull())
  53. {
  54. return name.Value;
  55. }
  56. return "";
  57. }
  58. }
  59. }
  60. /// <summary>
  61. /// Claim属性
  62. /// </summary>
  63. public static class ClaimAttributes
  64. {
  65. /// <summary>
  66. /// 用户Id
  67. /// </summary>
  68. public const string UserId = "id";
  69. /// <summary>
  70. /// 用户名
  71. /// </summary>
  72. public const string UserName = "na";
  73. /// <summary>
  74. /// 姓名
  75. /// </summary>
  76. public const string UserRealName = "rna";
  77. /// <summary>
  78. /// 登录日志Id
  79. /// </summary>
  80. public const string UserLoginLogId = "llid";
  81. }
  82. }