这似乎是一个简单的练习,但我无法弄清楚为什么会有所不同?
User.HasClaim(System.Security.Claims.ClaimTypes.Role,“AdminRole”)
真
User.IsInRole(“AdminRole”)
假
以上应该评估相同的结果,但它不是。我只是使用Cookie身份验证并将声明加载到声明原则中。
当我尝试使用像[Authorize(Role =" AdminRole")]这样的Authorize属性时会出现这个问题,该属性在具有正确的角色声明时返回false。
答案 0 :(得分:0)
如果您在这里使用ASP.net core 2或更高版本中的属性来寻找检查角色的正确语法,答案几乎与上述已删除答案中给出的一样:
[Authorize(Roles = "Admin")]