我正在使用Angular 2(前端)和Web API 2作为后端,并使用ASP.Net Identity和OWIN构建基于令牌的身份验证的小型CRM SPA应用程序。
我有ASPNetUsers,ASPNetRoles,并且能够根据角色向用户授予访问权限,但是我不知道如何向特定用户授予访问权限。例如:
用户以“经理”角色登录并加载一个页面,该页面请求该经理的某些资源。该请求到达API控制器。该控制器方法将如何知道是否授予该用户访问权限?此用户是某客户的所有者吗? /api/Client/1
是否有一种简单的方法(使用EntityFramework)找出关系的层次结构(如果客户端(或其他资源)属于当前ASPNetUser)?
这是我计划数据库关系的方式:
最终,目标是使用户能够访问他拥有的资源,并限制其他用户加载它们-一种个人帐户。