1、组织机构为三级结构(A为根节点,B为A的子层,C为B的子层),要求A为一层级人员(根节点),B为二层级人员,C为三层级人员,
A可查看全部数据(包含二层和三层),B可查二层及三层的数据,C只可查看三层级数据,数据权限应如何设置合理
2、是否每个列表或树形结构中都要设置获取登录用户所在的组织机构才可过滤数据,能否提供过滤样例
1、组织机构为三级结构(A为根节点,B为A的子层,C为B的子层),要求A为一层级人员(根节点),B为二层级人员,C为三层级人员,
A可查看全部数据(包含二层和三层),B可查二层及三层的数据,C只可查看三层级数据,数据权限应如何设置合理
2、是否每个列表或树形结构中都要设置获取登录用户所在的组织机构才可过滤数据,能否提供过滤样例
这个问题很好,其实实际情况比这个还复杂一些:
公司,
部门,部门属于公司,并且部门下面还会有子部门,子部门下面还有子部门,……
每个人:
A:属于公司,需要查看全部数据权限;
B:查看本部门及所有下属部门数据权限
C:只能看本部门数据权限(一般是最后以及的部门)
================
具体实现:
(1)每个人设定数据权限为A、B、C中的一个
(2)单独建一张部门及其所有下属部门的关系表:ID(主键)、部门ID、下属部门ID
每次部门变化(新增或上级部门变化)时,修改这个表。
(3)数据列表根据(1)中设定动态where,不同的数据权限where条件不同来实现
动态where参照:http://bbs.feplat.com/question?questionId=141