using Microsoft.AspNetCore.Http; using Znyc.Recruitment.Common.Helpers; namespace Znyc.Recruitment.Common.Auth { /// /// 用户信息 /// public class User : IUser { private readonly IHttpContextAccessor _accessor; public User(IHttpContextAccessor accessor) { _accessor = accessor; } /// /// 用户Id /// public virtual long Id { get { System.Security.Claims.Claim id = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UserId); if (id != null && id.Value.NotNull()) { return id.Value.ToLong(); } return 0; } } /// /// 权限Id /// public string RoleId { get { System.Security.Claims.Claim name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.RoleId); if (name != null && name.Value.NotNull()) { return name.Value; } return ""; } } /// /// 昵称 /// public string UserName { get { System.Security.Claims.Claim name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UserName); if (name != null && name.Value.NotNull()) { return name.Value; } return ""; } } /// /// OpenId /// public string OpenId { get { System.Security.Claims.Claim name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.OpenId); if (name != null && name.Value.NotNull()) { return name.Value; } return ""; } } /// /// UnionId /// public string UnionId { get { System.Security.Claims.Claim name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.UnionId); if (name != null && name.Value.NotNull()) { return name.Value; } return ""; } } /// /// AvatarUrl /// public string AvatarUrl { get { System.Security.Claims.Claim name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.AvatarUrl); if (name != null && name.Value.NotNull()) { return name.Value; } return ""; } } /// /// SessionKey /// public string SessionKey { get { System.Security.Claims.Claim name = _accessor?.HttpContext?.User?.FindFirst(ClaimAttributes.SessionKey); if (name != null && name.Value.NotNull()) { return name.Value; } return ""; } } } }