后台系统资源/数据权限系统设计

前言

鉴于后台的权限,数据分级越来越细化,越来越错综复杂,我对现有的项目后台进行了一个初步的升级。参照传统的CRM管理系统改造了权限系统。

场景

在一套后台管理系统中,系统通常会有多种需求的用户登陆。例如系统维护人员、运营分析人员、文案编辑人员、部门管理人员等等,而系统维护人员登陆要看到日志界面和服务器监控界面,文案编辑人员要看到文章界面等等,不同的用户登陆到后台还需要展示不同的菜单和界面,

单单运营分析人员,在系统中可以可能有A分公司运营助理、B分公司运营主管、C部门运营经理、华东大区运营总监等等类型,A分公司的运营助理只能看A公司的运营数据,C部门运营经理只能看到C部门的运营数据,大区运营总监应该要看到属于华东大区的所有公司以及部门的数据,不同人员能够查看的数据范围应该是不同的

其次,上述提到的的文案编辑人员,还会区分出总编辑,和文案撰稿人,虽然同样能看到文章管理界面,但总编辑拥有添加、编辑、删除、审核、发布等功能,普通文案只有有添加、修改的权限。

本文将对上述提到的场景提出一种基础的解决方案。

分析

角色】:系统运维、运营分析、部门职员这类拥有不同权限功能的标签,我们称之为“角色”

组织部门】:A分公司、C部门、华东大区、无论大小我们统称为“组织部门”

【岗位】:运营助理、运营主管、运营经理、运营总监我们统称为“岗位”

数据权限】:大区运营和部门运营所能看到的数据范围不同,我们称之为“数据权限”。

资源权限】:文章管理撰稿人比总编辑少了审核、发布的功能,这些功能我们称之为“资源权限”

解决

有了角色,部门组织,岗位,数据权限,资源权限这5个概念的结合就可以结合出满足一般使用场景的权限设计。


权限五要素

总览

      我们将数据权限、资源权限接关联在一个角色上,然后将关联好的角色与用户绑定,这样就完成了权限对用户的分配。另外,我们也可以将角色关联在某个部门的岗位上,然后用户只要填写所属部门和岗位即可获得权限。

角色

     比如文案总编辑、撰稿人、审稿人、编辑助理这类有特定的功能职能的用户群体,我们能就可以创建成角色。但要注意的是,角色一般是可以多个同时并存的。比如创建一个新文案负责人,组织允许他既可以自己撰稿,也可以帮助别人审稿,这时候往往不会在当独为他设计一个撰稿审稿人角色,而是同时为他分配撰稿人+审稿人两个角色。这样,该用户的权限就变成了他所有角色关联的权限之和。从而减少因为权限的交叉带来的冗余角色。

岗位

    岗位和角色的概念其实是挺相似的,一个岗位一定程度上代表了他在组织中的角色。然而同样的岗位在不同的组织部很可能是不同的:   例如A部门的采购主管和B部门的采购主管。同样是主管的岗位,但A采购公司规定可以查看整个部门数据、不允许查看订单,而B采购可以查看订单数据、但不允许查看部门其他采购主管的数据,从而造成了同岗不同权。

    这时,我们可以单独为这些部门各自创建岗位,并将角色组直接关联在各自的岗位上。例如在A分公司中分配一个岗位叫做采购主管, 然后我们为这个岗位预设好 “采购数据分析员”,“采购数据录入员”,“订单审核人员”的角色。 这样以来,当A公司来了一位新的采购主管,我们只要为他创建好账号,然后为他设置这个岗位就可以实现权限的绑定。

资源权限

    撰稿人可以编写文章,审稿人只能查看和标记审核结果,区分两者权限不同,依靠的就是资源权限的不同。我们可以在撰稿人角色上绑定“文章:编辑、文章:查看、文章:添加”这三个资源权限,为审稿人角色绑定“文章:查看、文章:审核”两个资源权限,然后在系统中判断用户的权限来控制相应的入口显示。例如判断用户的权限中不包括“文章:审核”权限,页面就隐藏掉审核的开关按钮。


只有主编看到的界面才有发布按钮

数据权限

    数据权限我们目前只分三种,“仅自己数据”,“部门数据”,“全部数据”。如字面含义一样,“仅自己数据”只能查看与自己直接关联的数据,比如自己的销售额,自己的考勤记录。“部门数据”允许用户看到整个部门乃至下级部门的所有成员的数据,比如整个部门的销售额,部门中某个用户的考勤记录。“全部数据”属于最高级别的数据权限,一般是平台的总公司总经理、或者某个系统的总负责人可以使用的到。需要注意的是,数据权限需要结合“资源权限“以及下面将提到的“组织部门“一起组合使用才能发挥效果。

组织部门

   组织部门可以区分用户在系统中的不同组织、不同等级关系。比如一个平台往往可以接入众多的公司,如图


组织架构图

组织与组织之间有明显的层级架构关系,结合数据权限、资源权限、角色、岗位、就可以灵活配置出例如图中销售部门A的销售经理权限,以及销售团队1的队长权限等等。


总结

上述的结构只是一种方案,当然方案不可能是万能的,具体的实现还需要结合实际项目需求进行设计开发。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352