RBAC权限管理系统:从业务流到数据流再到原型展示的那些事


B端产品做了这么久,最大的感触就是B端产品有着复杂的业务关系。凡事预则立,那么在规划一个模块的功能之前,我们需要先对这个模块内部的业务关系进行梳理。在本篇文章,我会以ERP系统最成熟的后台管理系统来举例子,从顶层业务开始分析、再到底层数据关系,最后通过原型说明。

1.业务流程

ERP系统,Enterprise Resource Planning,企业资源计划。顾名思义,首先企业资源有哪些?我们看到的金蝶、用友、SAP等ERP系统,在系统部署时,实施顾问总会先提到一个词:后台管理系统。后台管理系统也是给用户用的,提到后台管理系统肯定离不开一个词叫权限。权限管理主要是避免因权限控制缺失而引起的数据泄露的问题。所以,我们需要解决的问题是:

哪些部门的哪个用户具有哪些权限?

要解决这个问题,我们不得不提到一个模型:RBAC(基于角色的访问控制)权限控制模型
因此,我们需要聚焦三个关键词:用户、角色、权限。

在这里插入图片描述
一个后台管理系统,关于用户、角色、权限基本上可以抽象出六张表:

  1. 部门表;一个公司可以有多个部门;
  2. 用户表;一个用户可从属于多个部门;
  3. 角色表;一个系统有多个角色,一般简单分为系统管理员administrator和普通用户user;
  4. 用户-角色表;用户角色表,即一个用户可有多个角色,存储用户和角色之间的映射关系;
  5. 权限表;权限分为页面权限、数据权限、操作权限;
  6. 角色-权限表;每个角色可以拥有哪些页面权限、数据权限以及操作权限。

涉及到部门其实还会有一个叫用户组的概念,当用户很多时,我们给每个用户单独去赋予角色,会很麻烦。可以将一个部门下的所有用户授予一个角色。
在这里插入图片描述

2.数据流程

前面一部分,分析了每个步骤的业务以及主要的作用,我们这一步主要是分析底层数据的流向。为了更加清晰,这一部分直接用Navicat进行E-R建模。

建议每个B端产品经理都学习一下UML建模工具,对工作中的业务分析有很大的帮助。

在这里插入图片描述

每个表都很类似,主要是id和name。特殊说明一下,sys_role_user表,uid和rid分别通过建立外键,关联sys_user表和sys_role表。同样,sys_role_permission角色权限表,也是通过外键建立联系。

PS:作为产品经理,只需要了解到权限是通过底层六张表来实现,具体数据库操作可以不关注。但作为开发人员,必须了解每张表如何建以及从产品业务抽象出数据库模型。

3.功能原型

根据前面的分析,我们先整理出整个后台权限管理系统的思维导图:
在这里插入图片描述

  1. 组织管理
    组织管理,主要是构建公司的组织架构,B端产品尤其是大的ERP系统等,第一件事就是要解决公司的组织架构问题。涉及到底层,也就是我们前面提到的部门表。(sys_dept)
  2. 人员管理
    组织管理建立好部门的层级关系,就要引入员工信息了。涉及到底层,也就是我们前面提到的人员表。(sys_user)
  3. 权限管理
    权限管理,主要分为三类:组织管理员授权,角色授权,用户直接授权。
    (1)对于大的公司,组织管理员授权,即部门领导授权;
    (2)角色授权,即用户关联角色,给某一角色统一授权;(sys_role_user);
    (3)用户直接授权,对于公司规模较小,可对用户直接进行授权。

权限主要分为:
功能权限、字段权限、数据规则。也就是我们前面提到的页面权限、数据权限、操作权限。

  1. 许可管理
    B端系统,使用是有限制的。一般公司会卖license。通俗一些说,有多少个可以登录系统的许可。
    权限分配和许可分配缺一不可。
    许可分配:用户凭账号密码可以登录系统;
    权限分配:登陆之后,能使用什么功能,取决于权限管理给该用户分配了什么权限。

登录页
在这里插入图片描述
首页
在这里插入图片描述

此处原型只展示一个导航,具体原型内容就不一一展示了。

本篇博文简单分析了一下RBAC权限管理模型在实际业务中如何落地,有想法欢迎讨论。

相关推荐
本高校班级管理系统的主要目的是为了方便毕业之后大家保持联系,不会因为彼此分开而使得同学间的感情疏远。因此要为班级成员提供一个温馨,友好的操作界面,让大家进入系统感觉如同走进家庭般温暖,同时为具有较高权限的系统管理员提供相应的系统功能。高校班级管理系统主要需要实现以下基本功能: 1.登入功能:系统首页提供登入对话框,输入用户名和密码,系统验证正确后进入系统,否则提示错误信息。 2.注册功能:该功能为浏览者提供注册功能,在注册界面填写相应信息,系统验证正确后,成为系统用户。 3.留言功能:所有用户都具有此功能,它用于用户发表留言。 4.查看留言功能:所有用户都具有此功能,用于查看系统中所有成员留言。 5.删除留言功能:该功能只有系统管理员才能使用,用于删除系统中不需要的留言。 6.个人信息修改功能:所有用户都具有此功能,用于修改用户注册信息。 7.查看班级信息功能:所有用户都具有此功能,用于查看当前系统信息,如班级创建者,班级说明,班级成员总数,留言总数,相片总数等。 8.修改班级信息功能:该功能只有系统管理员才能使用,用于修改班级信息。 9.上传相片功能:该功能只有系统管理员才能使用,用于将班级照片发布在系统中 10.删除相片功能:该功能只有系统管理员才能使用,用于删除不需要的照片。 11.浏览相片功能:所有用户都具有此功能,用于浏览系统发布的照片。 12.发送短信功能:所有用户都具有此功能,用于在系统中发送短信,你可以指定发送对象。 13.查看短信功能:所有用户都具有此功能,用于查看是否有自己的短信。 14.删除短信功能:该功能只有系统管理员才能使用,用于删除不需要的短信。 15.发布班级新闻功能:该功能只有系统管理员才能使用,用语发布班级重要通知等。 16.修改班级新闻功能:该功能只有系统管理员才能使用,用于修改新闻内容。 17.删除班级新闻功能:该功能只有系统管理员才能使用,用于删除系统中的旧新闻。 18.添加教师功能:该功能只有系统管理员才能使用,用于添加教师信息。 19.查看教师信息功能:所有用户都具有此功能,用于查看教师信息,方便用户与教师取得联系。 20.查看用户信息功能:该功能只有系统管理员才能使用,用于查看注册的所有用户信息。 21.用户权限设置功能:该功能只有系统管理员才能使用,用于设置用户权限,是否将用户提升为管理员,或者将管理员降为一般用户。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页