【发布时间】:2018-06-21 08:04:17
【问题描述】:
我正在构建一个使用 Windows 身份验证的 Web 应用程序,并使用来自本地数据库的角色和声明对其进行补充。一旦用户通过身份验证,我计划使用 JWT 存储此信息。
我们的组织有不同的部门,我想知道在这种情况下如何实施角色/声明。
例如:
Bob 是 A 部门和 B 部门的管理员。
按照 Bob 的原则,我如何添加反映这一点的声明。即。
bob.claims = new claim[] {
new claim() { department = "A", role = Roles.Admin },
new claim() { department = "B", role = Roles.Admin }
}
然后我可以这样做:
[Authorize(IsInDepartmentRole(Department: "A", Role: Roles.Admin)]
请记住,这都是伪代码。
我意识到将这些信息存储在 JWT 中可能行不通,因此我愿意转移到内存缓存(或类似的缓存)。
我怎样才能做到这一点?
【问题讨论】:
标签: asp.net-core asp.net-identity jwt claims-based-identity