zoukankan      html  css  js  c++  java
  • php后台权限管理

    今天新到一家公司,重新维护升级了之前的权限管理。

    权限管理思路:
    1.三张表(公司项目比较复杂,所以数据表远比这个复杂,这里只实现权限管理,简化一下)
    action表------权限大菜单;
    这个表没有实际意义,但是可以简化前端权限管理的样式,将同一个controller里面的具体操作可以放在一行显示,字段参考:
    id,action_uri,action_name

    do表------具体涉及的操作;
    将所有要进行权限管理的操作放入此表,将会在前端页面权限管理里面分别显示,字段参考:
    id,do_uri,do_name,action_id

    privileges表------用户权限;
    系统中存在的每一个用户都有一条对应的记录,字段参考:
    id,user_id,privileges
    privileges存储为字符串,用*表示高级权限用户具备所有权限,用@表示普通权限用户具备除高级权限的所有权限,
    用do_uri拼接的字符串表示自定义权限用户具备字符串中存在的权限。

    2.用一个单独的方法把高级权限放入数组返回;

    3.用户操作请求过来,先获取用户相关信息,包括权限表里面的权限。
    与操作来源匹配。
    如果获取到的是*,拥有权限直接下一步具体操作;
    如果获取到的是@,看操作来源是否存在与高级权限数组里,如果不存在有权限下一步具体操作,如果存在就不具备权限退出;
    如果获取到的是uri字符串,就将字符串转化为数组,看操作来源是否存在与数组中,如果存在有权限下一步具体操作,如果存在就不具备权限退出;

    4.后台用户权限管理就是对user表和do表修改privileges表。

  • 相关阅读:
    Javascript异步数据的同步处理方法
    《Node.js In Action》笔记之流程控制
    《第一行代码》笔记
    【转向Javascript系列】深入理解Web Worker
    【转向Javascript系列】从setTimeout说事件循环模型
    以todomvc为例分析knockout、backbone和angularjs
    25个国内顶级技术开发团队Github
    配置Redis作为缓存(六种淘汰策略)
    JVM性能优化 初识JVM
    JVM性能优化垃圾回收算法详解
  • 原文地址:https://www.cnblogs.com/eis13/p/5981058.html
Copyright © 2011-2022 走看看