@@ -6,7 +6,7 @@ title: RBAC
6
6
7
7
## RBAC
8
8
9
- RBAC 提供了两种解决方案 ,分别为【角色菜单】、【Casbin】
9
+ RBAC 内置了两种解决方案 ,分别为【角色菜单】、【Casbin】
10
10
11
11
【角色菜单】是各类语言 web 开发中比较常见的解决方案,它可以设置按钮级别的控制规则
12
12
@@ -20,11 +20,11 @@ RBAC 提供了两种解决方案,分别为【角色菜单】、【Casbin】
20
20
21
21
1 . 更新 RBAC 鉴权配置
22
22
23
- 在 ` core/conf.py ` 文件中找到以下配置,并更新 ` PERMISSION_MODE ` 为 ` role-menu `
23
+ 在 ` core/conf.py ` 文件中找到以下配置,并更新 ` RBAC_ROLE_MENU_MODE ` 为 ` True `
24
24
25
25
``` py
26
26
# Permission (RBAC)
27
- PERMISSION_MODE : Literal[ ' casbin ' , ' role-menu ' ] = ' role-menu '
27
+ RBAC_ROLE_MENU_MODE : bool = False
28
28
```
29
29
30
30
2 . 添加接口依赖
@@ -42,7 +42,7 @@ RBAC 提供了两种解决方案,分别为【角色菜单】、【Casbin】
42
42
)
43
43
```
44
44
45
- 3 . 在菜单中添加权限标识
45
+ 3 . 在系统菜单中添加权限标识
46
46
47
47
我们在接口依赖中可以看到 `sys:api:add` 之类的值,这些值正是对应着菜单中的权限标识,
48
48
只有它们完全一致,并且用户拥有对应的菜单时,才会获得相应的操作权限
@@ -103,17 +103,11 @@ g 策略 (**依赖 p 策略**):
103
103
### 角色菜单
104
104
105
105
- 删除 `backend/common/security/permission.py` 文件中的 `RequestPermission` 类及所有类调用
106
- - 删除 `backend/core/conf.py` 文件中的 `PERMISSION_MODE ` 和 `RBAC_ROLE_MENU_EXCLUDE`
107
- - 删除 `backend/common/security/rbac.py` 文件中 `rbac_verify` 方法里面的 `if settings.PERMISSION_MODE == 'role-menu' :`
106
+ - 删除 `backend/core/conf.py` 文件中的 `RBAC_ROLE_MENU_MODE ` 和 `RBAC_ROLE_MENU_EXCLUDE`
107
+ - 删除 `backend/common/security/rbac.py` 文件中 `rbac_verify` 方法里面的 `if settings.RBAC_ROLE_MENU_MODE :`
108
108
条件及相关代码
109
109
110
110
### Casbin
111
111
112
- - 删除 `backend/app/admin/api/v1/sys/casbin.py`、`backend/app/admin/crud/crud_casbin.py`、
113
- `backend/app/admin/model/casbin_rule.py`、`backend/app/admin/schema/casbin_rule.py`、
114
- `backend/app/admin/service/casbin_service.py` 文件
115
- - 删除 `backend/core/conf.py` 文件中的 `RBAC_CASBIN_EXCLUDE`
116
- - 删除 `backend/common/security/rbac.py` 文件中 `enforcer` 方法
117
- - 删除 `backend/common/security/rbac.py` 文件中 `rbac_verify` 方法里面的 `if settings.PERMISSION_MODE == 'role-menu':`
118
- 条件和 else 条件中的相关代码
119
- - 删除 casbin 相关依赖包
112
+ - 删除 `backend/plugin/casbin` 文件夹
113
+ - 删除 `backend/common/security/rbac.py` 文件中的 `casbin_verify` 相关代码
0 commit comments