tachybase_todo/docs/plugins/packages/permissions.md
2021-04-21 23:05:10 +08:00

55 lines
1.5 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.

---
title: '@nocobase/plugin-permissions'
order: 1
---
# @nocobase/plugin-permissions
提供权限模块
## 安装
```bash
yarn nocobase pull permissions --start
```
## API
<Alert title="还需改进的一些细节" type="warning">
- 提供 Permission Model 相关快捷数据操作 API
- 需要支持从代码层面快捷配置权限,无需经由后台
系统表相关操作权限可能是直接通过权限 api 配置或者 permission model api直接写入数据库
- 提供 ui schema 需要的 fields/actions/pages 相关 permission api
现在有个 ac.can 可用,实际体验不够直接
- 数据表权限设置只开放了业务表,系统表权限需要开发自行处理,但无提供相关 api
如操作记录表、中国行政区表、附件表的情况:
- 操作记录表只开放查看,只能查看自己有权限能查看的数据表的操作
- 中国行政区的省市区等数据仅登录用户可查看
- 附件暂时没做权限限制
</Alert>
### context.ac.isRoot
是否为 root 权限
### context.ac.can(collection)
判断当前用户权限,支持链式操作。
#### ac.can(collection).permissions()
获取当前 collection 的所有权限配置
#### ac.can(collection).act(actionName).any()
是否允许 collection:actionName 操作,允许则返回相关配置
#### ac.can(collection).act(actionName).one(resourceKey)
具体 resourceKey 值的 collection是否允许 collection:actionName 操作,允许则返回相关配置
#### ac.as(roles).can(collection)
指定 roles 的权限判断