权限对象
id
uuid
权限规则的主键。
role
many-to-one
此权限适用的角色。 多对一到 roles。 null
用于公共权限。
collection
string
此权限规则适用的集合。
action
string
此权限规则适用于什么 CRUD 操作。 create
、read
、update
、delete
之一。
permissions
object
在允许角色更改项目之前,项目必须通过什么规则。 遵循 过滤规则规范。
validation
object
在允许角色提交它们以进行插入/更新之前,提供的值必须通过哪些规则。 遵循 过滤规则规范。
preset
object
角色的其他默认值。
fields
array
允许用户更改哪些字段。
{
"id": 34,
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7",
"collection": "pages",
"action": "create",
"permissions": null,
"validation": {
"title": {
"_contains": "Directus"
}
},
"presets": {
"published": false
},
"fields": ["title", "translations"]
}
列出权限
列出 Directus 中存在的所有权限。
权限
此端点中返回的数据将根据用户的权限进行过滤。 例如,角色的权限不会返回当前用户的角色以外的其他角色。
查询参数
支持所有全局查询参数。
返回
最多包含 limit 权限对象 的数组。 如果没有项目 可用,数据将是一个空数组。
REST API
GET /permissions
SEARCH /permissions
GraphQL
POST /graphql/system
type Query {
permissions: directus_permissions
}
示例
query {
permissions {
action
role
collection
}
}
检索权限
按主键列出现有权限。
查询参数
支持所有全局查询参数。
返回
返回请求的 权限对象。
REST API
GET /permissions/:id
示例
// GET /permissions/34
{
"data": {
"id": 34,
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7",
"collection": "pages",
"action": "create",
"permissions": null,
"validation": {
"title": {
"_contains": "Directus"
}
},
"presets": {
"published": false
},
"fields": ["title", "translations"]
}
}
GraphQL
POST /graphql/system
type Query {
permissions_by_id(id: ID!): directus_permissions
}
示例
query {
permissions_by_id(id: 34) {
role
collection
action
}
}
创建权限规则
创建新的权限规则
查询参数
支持所有全局查询参数。
请求正文
部分权限对象。 action
和 collection
是必需的。
返回
返回所创建权限的 权限对象。
REST API
POST /permissions
示例
// Request
{
"collection": "pages",
"action": "read",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7",
"fields": ["id", "title"]
}
GraphQL
POST /graphql/system
type Mutation {
create_permissions_item(data: create_directus_permissions_input!): directus_permissions
}
示例
mutation {
create_permissions_item(
data: { collection: "pages", action: "read", role: "c86c2761-65d3-43c3-897f-6f74ad6a5bd7", fields: ["id", "title"] }
) {
id
collection
action
}
}
创建多个权限规则
创建多个新的权限规则
查询参数
支持所有全局查询参数。
请求正文
部分 权限对象 的数组。 action
和 collection
是必需的。
返回
返回已创建权限的 权限对象。
REST API
POST /permissions
示例
// Request
[
{
"collection": "pages",
"action": "read",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7",
"fields": ["id", "title"]
},
{
"collection": "pages",
"action": "create",
"role": "c86c2761-65d3-43c3-897f-6f74ad6a5bd7",
"fields": ["id", "title"]
}
]
GraphQL
POST /graphql/system
type Mutation {
create_permissions_items(data: [create_directus_permissions_input!]!): [directus_permissions]
}
示例
mutation {
create_permissions_items(
data: [
{ collection: "pages", action: "read", role: "c86c2761-65d3-43c3-897f-6f74ad6a5bd7", fields: ["id", "title"] }
{ collection: "pages", action: "create", role: "c86c2761-65d3-43c3-897f-6f74ad6a5bd7", fields: ["id", "title"] }
]
) {
id
collection
action
}
}
更新权限
更新现有的权限规则。
查询参数
支持所有全局查询参数。
请求正文
部分权限对象。
返回
返回更新权限的 权限对象。
REST API
PATCH /permissions/:id
示例
// PATCH /permissions/34
{
"fields": ["id", "title", "body"]
}
GraphQL
POST /graphql/system
type Mutation {
update_permissions_item(id: ID!, data: update_directus_permissions_input!): directus_permissions
}
示例
mutation {
update_permissions_item(id: 34, data: { fields: ["id", "title", "body"] }) {
id
action
collection
}
}
更新多个权限
更新多个现有权限规则。
查询参数
支持所有全局查询参数。
请求正文
请求正文
keys
必填
您要更新的权限的主键数组。
数据
必填
权限对象 的任何属性。
返回
返回更新权限的 权限对象。
REST API
PATCH /permissions
示例
// PATCH /permissions
{
"keys": [34, 65],
"data": {
"fields": ["id", "title", "body"]
}
}
GraphQL
POST /graphql/system
type Mutation {
update_permissions_items(id: [ID!]!, data: update_directus_permissions_input!): [directus_permissions]
}
示例
mutation {
update_permissions_items(ids: [34, 64], data: { fields: ["id", "title", "body"] }) {
id
action
collection
}
}
删除权限
删除现有权限规则
Returns
Empty body.
REST API
DELETE /permissions/:id
示例
DELETE /permissions/34
GraphQL
POST /graphql/system
type Mutation {
delete_permissions_item(id: ID!): delete_one
}
示例
mutation {
delete_permissions_item(id: 34) {
id
}
}
删除多个权限
删除多个现有权限规则
请求体
An array of permission primary keys
Returns
Empty body.
REST API
DELETE /permissions
示例
// DELETE /permissions
[34, 64]
GraphQL
POST /graphql/system
type Mutation {
delete_permissions_items(ids: [ID!]!): delete_many
}
示例
mutation {
delete_permissions_items(ids: [34, 64]) {
ids
}
}