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 "";
}
}
}
}