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


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


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


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


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

                 可以合并输出一个json即可


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

分类:

技术点:

相关文章: