日期:2014-05-18  浏览次数:20623 次

b/s中的数据权限设计一问
如何合理的控制数据权限
比如a部门员工用户,只能访问修改自己a部门内产生的数据
b部门员工用户,只能访问修改自己b部门内产生的数据

c是中层领导,管理a,b部分。
c可以访问a,b部门数据

d是高层可以访问中层管理的所有部分的数据。


这种情况要如何设计??表要如何设计??



------解决方案--------------------
员工 Many-to-one 职位 Many-to-many 操作权限
根据最终的操作权限去生成可访问数据的部门列表作为查找数据的in条件
这里的操作权限比如本部门,子部门,本部门及子部门....
我想你的abc这个部门之间应该有个树状的递归关系吧?
------解决方案--------------------
定义部门编码(dept_no)规则如下:
高层 01
中层 0101、0102
小兵 010101、010102、010201……

查询时,部门条件为 dept_no like 员工部门编码 || '% '
------解决方案--------------------
确实,我说的是最简单的部门分级情况。复杂点的,还是要建立单独的部门权限控制表,最简单的包含两个字段就可以了(部门编码,授权部门编码)。