zoukankan      html  css  js  c++  java
  • 一个实战系统的权限架构思维推导过程

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


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


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


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


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

                     可以合并输出一个json即可


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

  • 相关阅读:
    AOP面向切面编程
    java中与运算,或运算,异或运算,取反运算
    Java中replace和replaceall的区别
    Satisfying memory ordering requirements between partial reads and non-snoop accesses
    JS判断字符串中是否存在某个字符
    PHP 简介
    PHP 是什么
    mysql substr() 函数
    MySQL 数学函数
    MySQL 字符串截取SUBSTRING()函数
  • 原文地址:https://www.cnblogs.com/bdccloudy/p/7665197.html
Copyright © 2011-2022 走看看