【发布时间】:2016-08-15 21:26:21
【问题描述】:
我在使用IClaimsTransformer 进行身份验证后将角色administrators 添加到用户声明中,如下所示:
(principal.Identity as ClaimsIdentity).AddClaim(new Claim(ClaimTypes.Role, "Administrators"));
但是当我在 Razor 视图中调用 User.IsInRole("Administrators") 时,它返回 false。
【问题讨论】:
-
您是否尝试添加完全相同的声明?即我不会认为它不区分大小写
-
是的。我在调试时看到了用户声明中的角色。
-
你试过 .HasClaim 看看有什么不同吗?您确定在转换后检查索赔吗?
-
User.HasClaim("http://schemas.microsoft.com/ws/2008/06/identity/claims/role", "Administrators")是真的。但是User.IsInRole("Administrators")是假的。
标签: asp.net-core identityserver4