我使用asp.net样板。
我拥有Bearer Token(JWT)的身份验证。
在配置文件方法中,我需要获取userId。
这是方法的代码
[AbpAuthorize]
[HttpGet]
public async Task<IActionResult> GetProfileData()
{
var identity = (ClaimsIdentity)User.Identity;
}
现在,如果我使用identity.
,我可以得到唯一的名字。如何从中获取userId?
答案 0 :(得分:0)
我找到了答案
只需要像这样重写它
var identity = User.Identity.GetUserId();
答案 1 :(得分:0)
public GetClaims (IHttpContextAccessor accessor) // contractor method
{
var currentUser = accessor.HttpContext.User;
var userId = currentUser.FindFirst("Id")?.Value;
}
为Claims设置一个类,注入IHttpContextAccessor
,然后获取您想要的任何内容。当然,您可以在控制器上注入IHttpContextAccessor,但是我不建议这样做。