[PHP] 最简单的权限控制设计

假设url部分我们只有action和method , 某个控制器下的某个方法 , 比如:log/loginlog   查看日志下的登陆日志, action就是log , method就是loginlog

1.设置一个菜单数组

1
2
3
4
5
6
7
8
9
10
11
12
$menuMap = array(
    'entmanager' => array(
        'name' => '企业管理',
        'submenu' => array(
            'entlist' => array('企业列表')
    ),
    'log' =>array(
        'name' => '日志管理',
        'submenu' => array(
            'loginlog' => array('登陆日志')
    )
)

2.设置一个角色数组

$userRole = array(
    1 => "超级管理员",
    2 => "普通管理员",
    3 => "客服操作员",
);

3.角色对应的权限数组

复制代码
$permission=array(
    '1'=>array(
        'entmanager'=>array('entlist'),
        'log'=>array('loginlog')
    ),
    '2'=>array(
        'log'=>array('loginlog')
    ),
    '3'=>array(
        'entmanager'=>array('entlist')
    ),
)
复制代码

4.判断权限的时候

if (array_key_exists($action, $permission) && in_array($method, $permission[$action])) {
        return true;
  }else{
          return false;
  }

 

  

posted @   唯一客服系统开发笔记  阅读(498)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2016-06-04 [javaSE] GUI(图形用户界面)
点击右上角即可分享
微信分享提示
1
chat with us