【发布时间】:2018-11-15 08:44:51
【问题描述】:
我一直在使用一些示例在 ASP.NET Core 中使用 Identity,但有些事情让我感到沮丧。尽管角色模型有一个主键 Id 和一个字符串 Name,但它是由各种内置服务传递的名称。
例如,当我调用_userManager.GetRolesAsync(user) 时,我会返回一个字符串名称列表。如果我想要身份证怎么办?没有用于此的 API,因此我必须使用角色管理器来获取所有角色并映射它们。默认情况下,角色名称不受唯一键的约束,因此这是不可靠的。
我一定错过了什么,但是什么?我现在的用例是我想用用户的角色填充 JWT 声明。就我而言,角色名称是我的应用程序内部的,我不想将这些暴露给客户。
【问题讨论】:
-
What if I want the IDs?这是什么意思?您想获取用户角色ID吗?就像_dbContext.Roles.Single(x => x.Name == "Administrator")? -
我以为我的问题很清楚,抱歉。我想通过他们的
Id属性(在我的例子中是一个字符串化的 GUID)来引用角色,而不是他们的Name属性。
标签: c# asp.net-core asp.net-identity