美文网首页
论B2B业务中的授权中心如何设计

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

作者: Java分布式架构实战 | 来源:发表于2021-07-16 23:33 被阅读0次

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

XXX工业互联网平台

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

授权中心相关概念

企业库(组织树)

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

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

用户

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

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

项目

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

应用系统

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

授权中心表结构设计

组织表

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


组织表

用户表

所有的用户帐号。


用户表

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

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

角色表、角色权限关联表

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


角色表、角色权限关联表

用户角色组织关联表

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


用户角色组织关联表

总结

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

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


帐号信息页面原型

工具

相关文章

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

    假如我们有一个好的点子,准备通过技术、业务、资源创建一个商业产品,比如做一个1788来解决建筑行业物资、设备、租赁...

  • DDD快速上手

    DDD,中文名为领域驱动设计,为业务开发中必不可少的指导方法论,本文以业务开发中战略设计和战术设计为例,将普通开发...

  • 销售前要准备什么?

    我看来,B2B销售业务中,销售前的准备环节是非常重要的。因为B2B(Business to Business)销售...

  • 把微信群运营成黄金铺面

    作者:陈欢 本文来自微信公众号:新零售进化论(ID:xlsjhl001),已授权转载。 如何设计社区团购的增长? ...

  • 预售秒杀系统

    架构设计思考 在分层时间设计上,预售中心、订单中心、库存中心、支付中心和管理后台功能独立,职责清晰,快速支持业务。...

  • 众美联商城——基本问题

    参考: 1、供应商帮助中心 2、采购商帮助中心 一、业务 1、模式 餐饮酒店B2B采购平台,提供平台授信等供应链金...

  • 资源授权

    本篇主要说明在“授权系统”设计中如何才能对资源的访问权限进行精确的控制与授权。其实就是针对OAuth 2.0一文,...

  • 企业架构之业务中台建设指南-设计篇

    业务中台设计方法 基于标准的业务中台服务化设计流程结合营销的业务特性和项目特性,形成系统业务中台服务化设计总体流程...

  • 复盘-寒武纪

    芯片设计Fabless 一.主营业务 1.IP授权业务 原先客户华为海思选择自研,业务基本萎缩。 2.云端智能芯片...

  • 大数据仓库建设体系架构

    大数据仓库建设方法论:在业务架构设计、模型设计、数据研发、数据服务的各个环节中,实现可管理、可溯源、可规避...

网友评论

      本文标题:论B2B业务中的授权中心如何设计

      本文链接:https://www.haomeiwen.com/subject/kxxtpltx.html