asp.net core 2.0 IsInRole()

时间:2017-10-26 06:36:57

标签: asp.net-core asp.net-core-2.0

这似乎是一个简单的练习,但我无法弄清楚为什么会有所不同?

  

User.HasClaim(System.Security.Claims.ClaimTypes.Role,“AdminRole”)

  

User.IsInRole(“AdminRole”)

以上应该评估相同的结果,但它不是。我只是使用Cookie身份验证并将声明加载到声明原则中。

当我尝试使用像[Authorize(Role =" AdminRole")]这样的Authorize属性时会出现这个问题,该属性在具有正确的角色声明时返回false。

1 个答案:

答案 0 :(得分:0)

如果您在这里使用ASP.net core 2或更高版本中的属性来寻找检查角色的正确语法,答案几乎与上述已删除答案中给出的一样:

[Authorize(Roles = "Admin")]