招聘API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

146 lines
3.4 KiB

using Microsoft.AspNetCore.Http;
using Znyc.Recruitment.Common.Helpers;
namespace Znyc.Recruitment.Common.Auth
{
/// <summary>
/// 用户信息
/// </summary>
public class User : IUser
{
private readonly IHttpContextAccessor _accessor;
public User(IHttpContextAccessor accessor)
{
_accessor = accessor;
}
/// <summary>
/// 用户Id
/// </summary>
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;
}
}
/// <summary>
/// 权限Id
/// </summary>
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 "";
}
}
/// <summary>
/// 昵称
/// </summary>
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 "";
}
}
/// <summary>
/// OpenId
/// </summary>
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 "";
}
}
/// <summary>
/// UnionId
/// </summary>
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 "";
}
}
/// <summary>
/// AvatarUrl
/// </summary>
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 "";
}
}
/// <summary>
/// SessionKey
/// </summary>
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 "";
}
}
}
}