以RBAC为理论基础
以低耦合为设计原则
我们计划设计一个独立的权限模块
碰到一些难题,后面另外开文章来讨论
本文主要是列举目前收集到的权限方面的需求信息,如果各位有能提供的用例,请不吝赐教。
各种需求都是从网络或零碎项目里提取的,等有了比较多的权限需求后,会进行抽象以及分类
======================================
序号1:
有一些客户资料,要求有使用人员的权限有如下几种:
1:普通级
2:部门经理级
3:项目级
4:公司老板级
每个人员录入的客户资料自己能看到,但不能看到别人的资料;
部门经理能看到自己部门下所有人录入的资料
公司老板能看到所有的客户资料;
假设有一个项目,需要几个人一些参与,那么参与该项目的人员都要能看到这个客户的资料
======================================
序号2
比如对于删除A类单据,还需要根据A类单据的某个属性X来判断:1st:用户是否有“删除A类单据”权限,2nd:用户对属性X=Y的A类单据是否有删除权限。
前面说在定义功能的时候,可以定义出一个功能是“删除A类单据”,甚至还可以定义“删除属性X=Y的A类单据”,但是对于单据X属性值可能是Y,也可能是Z等等,这(X的值域)是系统运转的时候才会浮出水面的。
======================================
序号3
审核员和高级审核员都能审核财务数据,但审核权限肯定是不同的。资金达到一定规模的财务数据,只有高级审核员才能审查。这个资金限度,可能还会和行业有关呢。比如:钢铁行业限额是1000万,零售行业限额是 50万。
客户需要自己控制部分细粒度权限。比如:金融危机的时候,普通审核员审核金额上限由原来的100w调整为75w。
======================================
序号4
客户提出要求:
在我的系统中,针对某一个前端界面有几个不同级别的操作人员。要求操作人员每个人进行的数据录入,其他操作人员不应该看到。
针对前端界面上的某一个文本框的信息,只有具有权限的人员才能够显示该文本框的信息。例如:金额。
======================================
上述有些需求可能表述得不是很清晰
抛砖引玉吧
谢谢大家捧场啊
ps:其实已经在做架构设计,不过发现本质上理想的架构非常麻烦。通用系统不好搞啊。