以下是一个使用PHP实现的权限控制实例,通过简单的角色权限分配,实现对不同用户的访问控制。
权限控制实例
| 用户角色 | 允许访问的资源 | 不允许访问的资源 |
|---|---|---|
| 管理员 | 所有资源 | 无 |
| 编辑 | 文章、图片 | 用户管理 |
| 普通用户 | 文章 | 用户管理、图片 |
1. 数据库设计
我们需要创建一个用户表(users)和一个角色表(roles),以及一个中间表(user_roles)用于存储用户与角色的关系。
```sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL
);
CREATE TABLE roles (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL
);
CREATE TABLE user_roles (
user_id INT,
role_id INT,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (role_id) REFERENCES roles(id)
);
```
2. 用户角色分配
接下来,我们需要为每个用户分配角色。以下是一个简单的示例:
```php
// 假设我们有一个用户ID为1的用户,我们将其分配为管理员角色
$stmt = $pdo->prepare("

