【发布时间】:2021-07-20 13:10:30
【问题描述】:
在我之前的 MVC 项目中,我使用默认身份页面登录 (/Identity/Account/Login)
通过在我的 Controller.cs 上使用下面的代码,我可以获得各种值,例如当前用户分配到的角色、角色的声明等...
var claims = User.Claims; // or HttpContext.User.Claims
//expected claim values are:
//{the-user-guid}
//email@test.com
//["Admin", "Manager"]
//Permission.Module1.Create <-- I need this (in Blazor)
//Permission.Module2.Read <-- I need this (in Blazor)
//and so on...
但是,与 Blazor 具有相同的设置,调用 User.Claims 默认情况下不包括角色和角色的声明。
我能够通过执行this 来包含用户分配到的角色(即管理员、经理)。所以我的下一个目标是获得 RoleClaims(来自 AspNetRoleClaims 表)——这会给我权限。
在来自链接的解决方案的上下文中,我不确定是否可以使用其他“关键字”(“角色”除外)来获得 RoleClaims。如果您能指出包含这些关键字列表的资源,我也将不胜感激。
【问题讨论】:
-
要访问 AspNetRoleClaims,您可以使用 UserManager 或者您可以注入 dataContext 并立即访问它,查看我更新的答案,它将向您展示如何从控制器访问它
标签: identityserver4 blazor-webassembly