2014-05-14 126 views
1

我正在寻找基于数据处理用户访问权限的最有效方式。例如,我有以下业务结构:集群>公司>部门>用户。每个级别可以有一些资源(集群有地址,电话,不管...),公司也,部门也...数据访问权限

我想完成的是,每个用户只能从他的群集访问数据/公司/部门...

它最有效的方法是什么?还是我不得不做检查CheckIfUserInCompany(userId,companyId)?

在此先感谢!

PS。 使用ASP MVC,但要求一般的,非语言特定的想法。

回答

0

允许每个节点都允许他/她允许的所有内容以及允许所有子节点的所有内容或者每个节点禁止执行禁止他和所有父母的内容的层次结构。

或角色。所以每个人都可以有一个或多个角色,你可以做的就是合并你所有的角色。

+0

感谢您的回应!这听起来像是一个解决方案,例如,DepartmentManagerRole需要访问部门信息。但是我想要确保的是,DepartmentManagerRole只能访问他所属的部门,而不能访问任何其他部门。同样适用于所有其他资源。所以,如果有人为departmentId发送GetDepartmentDetails(departmentId)请求,他不是>他获得Forbidden的一部分。 –