签入版本
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# 3.8 权限节点配置
|
||||
|
||||
:::tip 概述
|
||||
权限节点用于控制用户能访问哪些接口。通过菜单管理界面配置,格式为 `sys:{模块名}:{操作}`。
|
||||
:::
|
||||
|
||||
## Example 模块权限码
|
||||
|
||||
| 权限码 | 说明 | 对应接口 |
|
||||
|--------|------|----------|
|
||||
| `sys:example:page` | 案例演示分页列表 | `GET /api/example/page` |
|
||||
| `sys:example:add` | 添加案例演示 | `POST /api/example/add` |
|
||||
| `sys:example:update` | 修改案例演示 | `PUT /api/example/update` |
|
||||
| `sys:example:delete` | 删除案例演示 | `DELETE /api/example/delete/:id` |
|
||||
| `sys:example:import` | 导入案例演示 | `POST /api/example/import` |
|
||||
| `sys:example:export` | 导出案例演示 | `GET /api/example/export` |
|
||||
|
||||
## 配置步骤
|
||||
|
||||
### 1. 添加目录节点
|
||||
|
||||
在系统菜单管理中添加一级目录:
|
||||
|
||||
| 字段 | 值 |
|
||||
|------|-----|
|
||||
| 菜单名称 | 工具管理 |
|
||||
| 菜单类型 | 目录(type=0) |
|
||||
| 路由地址 | /tool |
|
||||
| 排序 | 60 |
|
||||
|
||||
### 2. 添加菜单节点
|
||||
|
||||
在目录下添加二级菜单:
|
||||
|
||||
| 字段 | 值 |
|
||||
|------|-----|
|
||||
| 菜单名称 | 案例演示 |
|
||||
| 菜单类型 | 菜单(type=1) |
|
||||
| 路由地址 | /example |
|
||||
| 组件路径 | tool/example/index |
|
||||
| 权限标识 | sys:example:page |
|
||||
| 排序 | 1 |
|
||||
|
||||
### 3. 添加按钮权限
|
||||
|
||||
在菜单下添加三级按钮权限:
|
||||
|
||||
| 字段 | 值 | 权限标识 |
|
||||
|------|-----|----------|
|
||||
| 添加案例演示 | type=2 | sys:example:add |
|
||||
| 修改案例演示 | type=2 | sys:example:update |
|
||||
| 删除案例演示 | type=2 | sys:example:delete |
|
||||
| 导入案例演示 | type=2 | sys:example:import |
|
||||
| 导出案例演示 | type=2 | sys:example:export |
|
||||
|
||||
### 4. 分配角色权限
|
||||
|
||||
在角色管理中,为角色勾选新增的权限节点。
|
||||
|
||||
## 菜单类型说明
|
||||
|
||||
| type | 说明 | 前端行为 |
|
||||
|------|------|----------|
|
||||
| 0 | 目录 | 渲染为侧边栏分组 |
|
||||
| 1 | 菜单 | 渲染为可点击的菜单项,对应一个页面 |
|
||||
| 2 | 按钮 | 不渲染,仅用于权限校验 |
|
||||
|
||||
## 权限校验流程
|
||||
|
||||
```text
|
||||
1. 用户登录 → 获取用户角色
|
||||
2. 角色关联菜单 → 获取权限节点列表
|
||||
3. 请求接口 → AuthMiddleware 读取 #[Permission] 注解
|
||||
4. 检查权限码是否在用户权限列表中
|
||||
5. 超级管理员(uid=1)跳过校验,直接放行
|
||||
```
|
||||
Reference in New Issue
Block a user