• 一个实战系统的权限架构思维推导过程


    一个系统的权限架构思维推导过程


        权限实际应该有四个部分:
           1)顶部菜单权限
           2)左侧导航菜单权限
           3)模块操作项操作权限
           4)数据浏览权限


           首先他们都要能够通过统一的角色进行管理,那么一个角色可以设置4个不同部分的权限,也可以将4个部分部分整合成一个部分
           其次顶部菜单和左侧导航菜单是有隶属关系的,那么可以合并成一颗树
           再次左侧导航跟具体的功能模块也是有对应关系的,一个导航菜单对应一个功能模块
           第四一个模块会有多个功能项,也就是操作权限的问题,那么功能项隶属于模块
           第五数据浏览权限,要分种情况:
               1)查看谁的数据:有两种做法:
          a)按照组织架构来控制同级、上下级 ,这里也是,可以直接在角色部分选择部门组织即可
          b)简单粗暴,直接选择哪些人即可,这里可以直接在角色部分进行人员选择即可
          所以:a、b 在研发角度看是同一个问题
      2)查看哪些数据:
          这个本质就是显示哪些字段的问题,既然是字段,那么跟模块就存在对应关系了,那么跟模块存在隶属关系


           综上思维路线总结如下:
           1)权限树
              顶部菜单
       |--左侧导航菜单
           |--系统功能模块
       |--模块操作项
           |--模块数据字段
           2)角色
                |--权限树选择项
       |--角色对应的干系人或组织


          最后是权限控制部分
          通过统一的js方法或后台service方法该方法
              输入:登录ID
     输出:顶部菜单[左侧导航菜单[模块操作项[]]] (嵌套数组)
                干系人或组织[] (数组)

                     可以合并输出一个json即可


    本人原创,未经许可,可随意转载

  • 相关阅读:
    Java集合(4):Iterator(迭代器)
    Java集合(3):Vector && Stack
    Java集合(2):LinkedList
    面试题29:顺时针打印矩阵
    面试题28:对称的二叉树
    面试题27:二叉树的镜像
    面试题26:树的子结构
    面试题24:反转链表
    面试题25:合并两个排序的链表
    面试题23:链表中环的入口结点
  • 原文地址:https://www.cnblogs.com/bdccloudy/p/7665197.html
Copyright © 2020-2023  润新知