【发布时间】:2017-08-15 20:37:44
【问题描述】:
我正在开发一个 .Net Core API,在我的控制器中,我有以下代码:
if (User.Identity.IsAuthenticated)
{
var username = HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
var user = await _userManager.FindByNameAsync(username);
artistCardDtoCollection = _artistsService.GetAllArtists(user.Id, User.IsInRole("Admin"));
}
上面的代码是因为我希望将User.Id(如果已登录)和IsAdmin 标志传递给我的GetAllArtists 方法。
上面的代码在User.IsInRole("Admin") 上失败了。当我 100% 知道相关用户是 Admin 时,我会收到 false。我通过 SQL Management Studio仔细检查了数据库。
这让我觉得在使用 JWT 时不能使用User.IsInRole()。如果是这样,那么正确的方法是什么?谢谢
【问题讨论】:
标签: asp.net-core jwt