论B2B业务中的授权中心如何设计

假如我们有一个好的点子,准备通过技术、业务、资源创建一个商业产品,比如做一个1788来解决建筑行业物资、设备、租赁、分包等大宗物资采购、零星物资采购的场景。在这个创业场景中,核心子系统有集中采购系统、商城系统、收验货系统、劳务实名制度系统、废旧物资买卖等智慧建筑系统,还有一些子系统,比如官网、微信公众号、智能客服系统、大屏系统、财务管理系统、办公自动化系统、授权中心系统、表单引擎、审批引擎、打印引擎、发号系统等。

XXX工业互联网平台

今天我们主要聊一下其中的授权中心,包括主数据中心、菜单权限管理、角色管理等基础RBAC的权限控制模型。

授权中心相关概念

企业库(组织树)

在B2B业务中企业库很关键,它包含本集团的组织、外部客户、外部供应商。为了管理了需要,这些企业最终会形成一个组织树。组织树上有用户、项目、审批流程、各种模板配置等。在各业务线系统中,都会分项目级、组织级、平台级三层。

  • 平台级
    在平台级主要是运营管理平台,可以管理企业、租户配置、项目配置等运营类工作。
  • 组织级
    在组织级主要管理本下级组织的业务。在业务数据方面“从下往上”,在模板配置方面“从下往下”。
  • 项目级
    在项目级主要完成本项目的业务,比如智慧工地系统中的进度、质量、安全、收验货、劳务实名制、AIoT智能设备管理等。

用户

用户有可能是一个“自然人”,也有可能是一个“系统”。一个用户都有一个帐号和密码,还可能有1个或多个所属认证企业,有1个或多个应用系统业务组织。

在一般的系统设计中,我们默认,一个用户在一个组织下,并且只能拥有这个组织下的角色。这种数据模型比较简单,比较容易理解和实现。

项目

建筑项目、社区、园区、楼宇都可以是一个项目。在建筑行业,有很多业态、很多参建单位、很多按地块或分期,所以建筑行业的项目很不好管理。根据我的经验,需要有强管制中心来管理,否则项目会很混乱。

应用系统

应用系统即业务线,它下面有菜单、权限、系统角色、业务角色等资源。

授权中心表结构设计

组织表

所有参建单位都在这个表中,比如采购商、分供方;总承包单位、分包单位;客户;设计单位、监理单位等。


组织表

用户表

所有的用户帐号。


用户表

应用系统表、菜单表、权限表

应用系统表、菜单表、权限表

角色表、角色权限关联表

可以支持组织级角色,也可以支持项目级角色。role_type有两类,一类是系统内置,一类是自定义。


角色表、角色权限关联表

用户角色组织关联表

一个人可以拥有多个角色组织、多个角色项目。比如一个人可以管理三局一公司的物资合同,同时可以管理三局二公司的租赁合同。这个的管理物资合同、管理租赁的同就是角色,可以是平台下系统内置角色,也可以是组织下的自定义角色。这样既可以使用系统内置角色,防止角色爆炸;又可以让组织自定义角色,满足业务灵活性。


用户角色组织关联表

总结

花了很长时间来整理了如何设计一个通用的B2B授权中心,核心思想是基于角色的权限控制,由于面临的是大型集团公司,每家公司可能会有一些定制化的需求,所以需要复杂的权限控制模型来支持。在我曾经做过的一个系统中,我遇到了角色爆炸的问题,即所有组织有一套自己的角色,最后角色达到了百万级别。在日常功能权限、数据权限问题排查、运维上遇到了很多问题。在这篇文章中,我基于Copy-on-Write的理念简单阐述了防止角色爆炸的方案。

下面的帐号信息页面原型,主要描述了用户类型、所属组织、业务角色、角色组织、功能角色、品类权限等。这里还不够细致,还需要进一步的优化。


帐号信息页面原型

工具

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

推荐阅读更多精彩内容