通过PHP自定义函数实现非常简单的权限分配
2年前
前几天就准备重新设计一下轻博客的权限功能,最初的权限功能已经不能满足网友的需求,于是今天就重新制作了一个权限分配功能,可以实现自由添加管理等级,个人感觉还行吧。
php自定义函数权限代码
//自定义权限函数
//$name 功能名称(ps:就是通过它对比下面权限数组中的值,已达到权限判断目的)
//$id 用户权限等级,
function xmadmin(string $name,$id = 1){
//注意这里不能为空值或者‘0’等
$id = (int) $id ?? 0;
$name = $name ?? null;
//判断传递过来的值是否为空值
if ($id == 0 || $id == '' || $name == null || $name == ''){
return false;
}
//权限数组,通过下面的数组可以分配权限功能
$permission=array(
//超级管理员
'1'=>array(
//后台
'admin',
//插件
'plugin',
//评论
'ping',
//数据
'shu',
//设置
'config',
//模板
'tplm',
//缓存
'tpl',
//日志
'ri',
//用户
'user',
//新增
'useri',
),
//管理员
'2'=>array(
//后台
'admin',
//插件
'plugin',
//设置
'config',
//用户
'user',
),
//总编辑
'3'=>array(
//后台
'admin',
//评论
'ping',
),
);
$qx = $permission[$id] ?? false;
//判断权限数组是否存在相关职位
if ($qx == false){
return false;
}
//判断权限数组中的相关职位是否有相关权限
if (in_array($name,$qx) === true){
return true;
}
return false;
}
使用方法
//判断插件功能是否有权限,没有权限为“false”,有权限为“true”,其中的“plugin”为需要判断功能名称(对应上面权限数组的值)
if (xmadmin('plugin') == false){
echo '抱歉,你的权限等级不足。';
}