这似乎是一个简单的练习,但我想不通这是为什么不同?
User.HasClaim(System.Security.Claims.ClaimTypes.Role,“AdminRole”)
真正
User.IsInRole( “AdminRole”)
假
上述应评估相同的结果,但事实并非如此。我只是使用Cookie认证和装载要求为索赔原则。
当我尝试使用授权属性,例如[授权(角色=“AdminRole”)],而具有什么似乎是合适的角色要求其返回false这将成为一个问题。
如果您来到这里寻找使用在ASP.net核心或等于2的属性检查角色的正确语法,答案几乎是像在上面删除给出答案:
[Authorize(Roles = "Admin")]