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

通用系统权限设计

作者: 夜色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