在设计统一权限系统之前,我们需要思考第一个问题,在系统权限层次上,到底哪些部分是实体,哪些部分是虚体? 比如你去公司上班,公司具有门禁系统,你需要刷卡入门,假设你需要穿过5道门,想一下在这些动作中,是如何归并你的权限范围的.

在这些门禁中,都相当于一个操作,每个操作都有不同的标识符,你拥有的标识符越多,你就拥有越多的权限. 现在思考一下目前操作系统中比较流行的RBAC或者基于用户权限这种比较流行的权限系统,都是在不断的给用户赋予标识符,所以我们的新权限系统中首先需要思考第一个问题,我们系统中最小的操作实体是什么?

一. 最小操作单元

最小操作单元,顾名思义就是系统最小能够对外提供服务的功能元素,我们是API后台系统,所以针对新版系统,最小操作单元就是一个个API,这是系统的最小控制力度.

最小操作单元在数据表存储为一张单表,单表必须存在下面相关字段:

  1. id : 序号
  2. name : 最小操作单元名称(必须英文,以后应对分布式)
  3. name_comment : (name英文所对应的中文)
  4. module : API的module部分
  5. controller : API的控制器名称
  6. method : API的方法名称
  7. comment : 描述

二. 最小功能单元

最小操作单元是孤零零的API,这是系统的最小实体,但是这个力度太小,所以不能成为养老服务库中的功能单元,所以我们还需要在最小操作单元的基础上聚合成一个个最小功能单元,最小功能单元组装成服务库.

系统功能单元,就是最小操作单元的聚合体,在数据存储结构上也是一张单表,单表必须存在下面相关字段:

  1. id : 序号
  2. name : 功能名称 (必须英文,以后应对分布式)
  3. name_comment: (name英文所对应的中文)
  4. ids : 最小操作单元的id集合(逗号分割)
  5. ids_name : ids所对应的最小操作单元英文名称列表(逗号分割,以后应对分布式)
  6. comment : 功能单元描述.

三. 两者间关系

下图描述最小功能单元与最小操作单元间关系.


下面以老人管理功能为例。

功能单元与操作单元间关系

文档更新时间: 2018-12-22 09:25   作者:李彪