using Microsoft.AspNetCore.Http; namespace Admin.Core.Common.Auth { /// /// 用户信息 /// public class User : IUser { private readonly IHttpContextAccessor _accessor; public User(IHttpContextAccessor accessor) { _accessor = accessor; } /// /// 用户Id /// public long Id { get { var id = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UserId); if (id != null && id.Value.NotNull()) { return id.Value.ToLong(); } return 0; } } /// /// 用户名 /// public string Name { get { var name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UserName); if (name != null && name.Value.NotNull()) { return name.Value; } return ""; } } /// /// 昵称 /// public string NickName { get { var name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UserNickName); if (name != null && name.Value.NotNull()) { return name.Value; } return ""; } } } /// /// Claim属性 /// public static class ClaimAttributes { /// /// 用户Id /// public const string UserId = "id"; /// /// 用户名 /// public const string UserName = "na"; /// /// 姓名 /// public const string UserNickName = "nn"; } }