有人可以阐明默认的Asp.Net核心属性[Authorize](使用Asp.Net Identity)如何理解它应如何解码JWT令牌并获得必要的信息以授予访问权限吗? 在形成JWT令牌时,我为用户添加了令牌RoleClaims,[Authorize]是否基于声明授予他们对特定actionMethod的访问权限
答案 0 :(得分:0)
您可以使用以下代码访问您的声明:
User.Claims.FirstOrDefault(el => el.Type == claim)?.Value
答案 1 :(得分:0)
更多详细信息,请点击此链接 Create JWT & Authorize
[Authorize]
[HttpPost]
public string Post()
{
var identity = HttpContext.User.Identity as ClaimsIdentity;
IEnumerable<Claim> claim = identity.Claims;
var UserName = claim.Where(c => c.Type == "UserName").Select(c => c.Value).SingleOrDefault();
return "Welcome to " + UserName + "!";
}