我看到很多例子,甚至还有关于如何对资源进行基于声明的授权的详细信息。
不幸的是,所有这些都是针对特定资源的,因此您可以执行以下操作:
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。 如何存储和使用此声明来过滤查询结果?
我知道这是一个非常基本的问题,但我只是不明白!