Files
rxthinkcmf-wiki/RXThinkCMF_ThinkPhp6_NaiveVue/zh/guide/permission.md
T
2026-09-29 10:14:04 +08:00

76 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)跳过校验,直接放行
```