有一个系统权限系统需要设计一下,但是小弟太菜,不知道怎么下手,往大家指点一二

大致的组织结构如下所示:

js 组织架构图 java组织架构表设计_数据

关于管理员:整个系统(包含多个org)有一个管理员,可以管理整个系统的权限管理;每个Org有自己的管理员,但是只能管理本Org的权限;注意:管理员只能管理权限,但是没有查看数据的权限,比如管理员最多只能看到有一个文件没有处理,但是是不能浏览文件的内容和要素的

一些特殊的地方:

(1)每个组织或部门都有自己的领导,领导可以给普通用户授权(这就包括前面有帖子提到的比如出差代处理),而具体的权限由管理员设定并不超过领导自身具有的权限

(2)不同的Org的用户和部门是允许重复的,就是Org1和Org2里面允许有完全一样的ID(如果用ID唯一表示用户的话)的用户,这一点只是用户提出来的,如果不说服用户改变的话,该如何的考虑

(3)用户可以在不同的Dep和Org之间调动

(4)用户可以看到的资源的多少和用户的级别没有关系,比如高级别的领导不能看很多细节,如对于一个审批的处理,主理的人员可以查看办理的全程资料,而领导可能看入口(从哪儿来)和结果;这是针对办理过程而言

(5)从具体数据的角度,领导不关心细节;比如一份通知,办理人员需要看到通知的级别(是否加密)、没一步的发送时间,但是领导只看内容;与(4)略不同,这是针对具体的要素,个人觉得这一点不放到权限系统,放到具体实现逻辑比较的合适

(6)用户限制的硬绑定(比如可以限制IP、MAC),我觉得这点应该比较容易实现,都是一些开关控制;但是我有些担心用户以后会提出把这一点和权限绑定,那么就麻烦多了

扩展:可能不同的org的数据都是分布的,但是对用户而言是透明的,如同操作一台数据服务器

能否找到稍微通用一点的权限系统的设置,望各位不吝指点一二