Skip to content

权限

本项目的基于 rbac 进行设计。考虑到权限与菜单的关系,将权限与菜单结合。

菜单分为三个类型:

  • 目录
  • 菜单(菜单也可以有权限)
  • 权限

权限标识

权限设计标识符 system:menu:list 系统模块下的 menu 菜单有 list 权限,我们就可以在 list 访问接口时对比用户是否具有此权限。

  • 用户的权限与 userId 进行结合。

计算权限列表

sh
const prem = system:menu:list

const perms = perm.split(":")

查看用户权限工程

userId -> userRole -> role -> menu -> menu.permission

当一个用户需要进行操作的时候,一个请求过来,我们需要更具用具 ID 获取菜单中的权限,判断当前用户是否有权限对此接口进行操作。

TIP

使用 redis 等进行优化

演示模式

处理演示模式下,只处理 GET。其他请求方法被禁止操作。增加全局配置: