tachybase_todo/docs/plugins/packages/permissions.md
chenos d5d0e1036b
docs: add docs (#75)
* docs: add docs

* ignore dumi theme test

* fix: error TS2717: Subsequent property declarations must have the same type.

* update docs

* deploy gh-pages

* plugins docs

* hash & cname

* exportStatic

* ssr

* vercel

* vercel

* fix: deploy vercel

* Delete vercel.json

* docs

* fix APP_DIST

* on master branch
2021-04-17 21:33:21 +08:00

1.5 KiB
Raw Blame History

title
@nocobase/plugin-permissions

@nocobase/plugin-permissions

提供权限模块

安装

yarn nocobase pull permissions --start

API

  • 提供 Permission Model 相关快捷数据操作 API
  • 需要支持从代码层面快捷配置权限,无需经由后台
    系统表相关操作权限可能是直接通过权限 api 配置或者 permission model api直接写入数据库
  • 提供 ui schema 需要的 fields/actions/pages 相关 permission api
    现在有个 ac.can 可用,实际体验不够直接
  • 数据表权限设置只开放了业务表,系统表权限需要开发自行处理,但无提供相关 api
    如操作记录表、中国行政区表、附件表的情况:
    • 操作记录表只开放查看,只能查看自己有权限能查看的数据表的操作
    • 中国行政区的省市区等数据仅登录用户可查看
    • 附件暂时没做权限限制

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 的权限判断