美文网首页
通用系统权限设计

通用系统权限设计

作者: 夜色001 | 来源:发表于2020-08-27 00:09 被阅读0次

一、权限设计三要素

用户角色资源
用户:对应单个的系统用户,一个用户一个账号。sysuser
角色:某一类用户的分组,比如管理员、员工等等。sysrole
资源:系统的内容资源,对不同的用户或者角色开放。资源包含:菜单、按钮、 数据

二、三要素的关系

用户与角色:用户属于某个角色,角色可以包含多个用户。本项目的角色为内置的5个角色:管理员、员工、代理商、保险商家、商城商家。
角色与资源:角色具有资源访问权限。资源分为两类:菜单和按钮为一类,数据权限单独为一类。

三、对接说明

1、功能列表(包含父菜单type=0、菜单type=1、以及按钮type=2):
接口:/sys/menu/list/tree
2、角色所具有的权限
接口:/sys/role/info/{roleId}
结果中
menuIdList:已关联的菜单id(包含按钮的Id),需要回落到第一步功能列表中去。
menuDataPermissionList:已关联菜单的数据权限。

  {
    "menuId": 2,
    "dataPermission": "1"  # 1-全部数据 0-当前账号的数据
  }

3、保存权限
接口:/sys/role/update
有权限的菜单以及按钮id封装到menuIdList数组中,数据权限以 [{"menuId": 2,"dataPermission": "1" }]的形式封装。
如下所示

{
  "menuDataPermissionList": [
    {
      "dataPermission": "1",
      "menuId": 196
    }
  ],
  "menuIdList": [
    196,197,198,199
  ],
  "roleId": 4,
  "roleName":"商城商家"
}

4、登录时根据后台权限,获取可访问的菜单
接口:/sys/menu/nav 导航菜单(已按权限过滤)

相关文章

网友评论

      本文标题:通用系统权限设计

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