0
0

User.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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 NickName
  48. {
  49. get
  50. {
  51. var name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UserNickName);
  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 UserNickName = "nn";
  77. }
  78. }