php rbac权限写法
时间: 2023-09-13 18:03:32 浏览: 146
实现 RBAC 权限控制,可以采用如下的 PHP 代码写法:
1. 定义角色和权限
```
$roles = [
'admin' => [
'users' => ['create', 'update', 'delete'],
'orders' => ['view', 'update', 'delete'],
'products' => ['create', 'update', 'delete']
],
'user' => [
'orders' => ['view', 'create'],
'products' => ['view']
],
'guest' => []
];
```
2. 定义用户和角色的关系
```
$users = [
'johndoe' => ['roles' => ['admin']],
'janedoe' => ['roles' => ['user']],
'guest' => ['roles' => ['guest']]
];
```
3. 检查用户是否有权限
```
function hasPermission($user, $permission)
{
global $roles, $users;
if (!isset($users[$user])) {
return false;
}
$userRoles = $users[$user]['roles'];
foreach ($userRoles as $role) {
if (isset($roles[$role][$permission])) {
return true;
}
}
return false;
}
```
4. 使用示例
```
if (hasPermission('johndoe', 'users.create')) {
// 允许用户 johndoe 创建用户
} else {
// 不允许用户 johndoe 创建用户
}
```
这是一种简单的 RBAC 权限控制实现方式,可以根据实际需求进行修改和扩展。
阅读全文