数据权限

关于数据权限设计,我这里有两种方案,方案一:建立角色,给角色指定功能,在指定功能的同时指定该功能的数据权限(如:功能“修改”的数据权限为"A部门、B部门"),最后给人员分配角色(或是给角色指定人员);方案二:建立角色,给角色指定功能,然后给人员分配角色,同时指定该人员的数据权限。方案一是我的方案,方案二是老大的方案,想问下兄弟姐妹些,哪种方案相对要好些?请简要说明下好在哪里,谢谢。
[b]问题补充:[/b]
先谢谢兄弟些的答案。我再补充说下,方案一中指定数据权限时可以指定为"本部门",这样的话人员在哪个部门,数据权限就是哪个部门,比如一个公司有200名员工,功能权限一样,数据权限为本部门,那样就很方便的指定,这种情况下方案二是不是很难搞定,难道去给200人每人分配一次数据权限?

个人觉得要具体问题具体分析,看你们的业务逻辑的情况而定

比较而言,方案二相对灵活一些。
方案一比较好管理。

方案二比较适合每个人的权限都不太相同,不好分类的情况下
例如:公司里有50个人,但是他们的权限都不是很相同。
这时,可以将共有的权限分类,变成角色。
每个人可以挂靠角色,再加上个性化的权限。

如果:公司里有50个人,但是他们的权限可以分成3,4种角色
这种情况下,应该采用方案二。

我是支持楼主的:方案一好处多:分析如下
1.使用统一的设计模式:即人-角色-权限,而方案二就要增加增加一个模式人-数据权限,不便于开发和维护
2.对数据权限设计划分的颗粒度,可以有效的数据权限的重复使用,也利于代码的编写
3.他们共同有的是角色的维护很麻烦。

我个人觉得第二种方案更好 ,避免了多重角色的建立符合实际情况。第一种适用于大量相同权限情况。第二种稍加修改也可适应,第二种更灵活。

[quote]比如一个公司有200名员工,功能权限一样,数据权限为本部门,那样就很方便的指定,这种情况下方案二是不是很难搞定,难道去给200人每人分配一次数据权限?[/quote]

这种情况只需要加一个选项,比如说使用相同配置。从UI可以进行配置的,充分利用人机交互才能设计出合理的方案来。