Asp.Net Claims Based授权多个对象

时间:2014-02-04 21:09:35

标签: asp.net asp.net-mvc asp.net-web-api claims-based-identity

我看到很多例子,甚至还有关于如何对资源进行基于声明的授权的详细信息。

不幸的是,所有这些都是针对特定资源的,因此您可以执行以下操作:

GetEntity(int id) 
CheckAccess(id, user);

然后在几个例子中,我看到了行动的许可/声明

GetEntities()

您对结果视图有真假访问权限。 (没关系)

我似乎没有找到或理解的是,在GetEntities行动中,我可以返回一份参与者名单,并使用声明获得数据的许可。

实际例子:

我为某些组中的某些X用户提供了共享通讯簿。

因此第1组有联系人A,B,C

用户10有权列出组1的联系人 用户10有权查看联系人A和B的完整详细信息 用户10有权查看联系人C的基本详细信息

所以我最终会在视图中显示:

联系A:姓名,电话和地址 联系方式B:姓名,电话和地址 联系C:仅限姓名。

另一件事情还不是很清楚,我应该在数据库中存储哪些内容以及如何声明,以便稍后可以从数据库中过滤结果集。

假设用户9没有权限列出组1的联系人但是2。 如何存储和使用此声明来过滤查询结果?

我知道这是一个非常基本的问题,但我只是不明白!

0 个答案:

没有答案