Asp.net .NET身份角色/索赔结构

Asp.net .NET身份角色/索赔结构,asp.net,asp.net-identity,Asp.net,Asp.net Identity,背景 我正在构建一个应用程序,我希望使用ASP.NET标识来管理对将部署到azure的web api模块的授权(1个项目是azure web应用程序,另一个是azure api服务) 我有点困惑,我应该如何利用角色和声明来协同工作,如何构造应用程序,或者标识系统中是否有另一个内置功能更适合我的解决方案 我的前端是用Angular构建的,我的API是用C#(.NET4.6)编写的 我的项目是: 每个用户都属于一个或多个组。每个用户在每个组中具有不同的权限。用户登录后可以在组之间切换(或查看他们所属

背景 我正在构建一个应用程序,我希望使用ASP.NET标识来管理对将部署到azure的web api模块的授权(1个项目是azure web应用程序,另一个是azure api服务)

我有点困惑,我应该如何利用角色和声明来协同工作,如何构造应用程序,或者标识系统中是否有另一个内置功能更适合我的解决方案

我的前端是用Angular构建的,我的API是用C#(.NET4.6)编写的

我的项目是: 每个用户都属于一个或多个组。每个用户在每个组中具有不同的权限。用户登录后可以在组之间切换(或查看他们所属的所有组的聚合数据)(即,每个登录1个jwt令牌,该令牌需要定义用户拥有的组和每个组的权限)

问题:
我不完全确定Asp.net identity最佳实践是如何构建此结构的。我是否应该为系统中存在的每个组(可能有数千个)创建一个角色,然后对用户在该组中拥有的每个权限(角色)进行声明

您能否在场景中给出一个组的示例以及该组的权限?例如,一个组是一个团队,您被多个团队雇用来执行该团队中的某些任务。你们两个小组是49人队和海鹰队。当您处于49人环境(选择49人作为您的组)中时,您可以管理花名册(添加/编辑/删除,即在该组中授予您的权限)。在Seahawks环境中,您可以为游戏管理游戏阵容(添加/编辑/删除),但无法管理花名册。在这个场景中,您的角色是否可以是49ers和Seahawks,而该组中的实际权限是声明?或者我的想法是错误的。不,你不是,但是,你决定这成为索赔的粒度级别,或者更确切地说,你根据每个请求的数据进行评估,这取决于你自己。我们在一个thr部署中有3000个角色,这是200个单位(您的组)乘以15个权限,而实际的组类似于
Seahawks_management
,这很好。谢谢@WiktorZychla。我将继续你的建议。