提交 95c7ae5d 编写于 作者: 雪洛's avatar 雪洛

docs: update schema

上级 98aaeac8
...@@ -984,6 +984,7 @@ errorMessage支持字符串,也支持json object。类型为object时,可定 ...@@ -984,6 +984,7 @@ errorMessage支持字符串,也支持json object。类型为object时,可定
"properties": { "properties": {
"_id":{}, "_id":{},
"name":{}, "name":{},
"age": {},
"pwd": {} "pwd": {}
} }
} }
...@@ -1001,7 +1002,7 @@ permission的字段级控制,包括读写两种权限,分别称为:read、 ...@@ -1001,7 +1002,7 @@ permission的字段级控制,包括读写两种权限,分别称为:read、
也就是对于一个指定的字段,可以控制什么样的角色可以读取该字段内容,什么样的角色可以修改写入字段内容。 也就是对于一个指定的字段,可以控制什么样的角色可以读取该字段内容,什么样的角色可以修改写入字段内容。
以上述的user表为例,假如要限制前端禁止读取pwd字段,那么按如下配置,在字段pwd下面再写permission节点,设定read为false。 以上述的user表为例,假如要限制前端禁止读取age字段,那么按如下配置,在字段age下面再写permission节点,设定read为false。
```json ```json
// user表的schema // user表的schema
...@@ -1016,25 +1017,51 @@ permission的字段级控制,包括读写两种权限,分别称为:read、 ...@@ -1016,25 +1017,51 @@ permission的字段级控制,包括读写两种权限,分别称为:read、
}, },
"properties": { "properties": {
"_id":{ "_id":{
}, },
"name":{ "name":{
}, },
"pwd": { "age": {
"bsonType": "string", "bsonType": "number",
"title": "密码", "title": "年龄",
"permission": { "permission": {
"read": false, // 禁止读取 pwd 字段的数据(admin权限用户不受限) "read": false, // 禁止读取 age 字段的数据(admin权限用户不受限)
"write": false // 禁止写入 pwd 字段的数据(admin权限用户不受限) "write": false // 禁止写入 age 字段的数据(admin权限用户不受限)
}
} }
} }
}
} }
``` ```
按上述配置,前端查询数据时,如果不包含pwd字段,仍然可以查询。但如果查询请求包含pwd字段,该请求会被拒绝,提示无权访问。 按上述配置,前端查询数据时,如果不包含age字段,仍然可以查询。但如果查询请求包含age字段,该请求会被拒绝,提示无权访问。
子级会继承父级的权限,即需要同时满足父级权限以及本节点权限,方可操作此节点。例如上述schema中如果配置表级read权限为false,在为name设置read权限为true的情况下,name字段仍不可读 子级会继承父级的权限,即需要同时满足父级权限以及本节点权限,方可操作此节点。例如上述schema中如果配置表级read权限为false,在为name设置read权限为true的情况下,name字段仍不可读
如果字段的bsonType配置为password,则clientDB完全不可操作此字段(即使是admin用户也不可以)。
```js
// user表的schema
{
"bsonType": "object",
"required": [],
"permission": {
"read": true, // 任何用户都可以读
"create": false, // 禁止新增数据记录(admin权限用户不受限)
"update": false, // 禁止更新数据(admin权限用户不受限)
"delete": false // 禁止删除数据(admin权限用户不受限)
},
"properties": {
"_id":{
},
"name":{
},
"pwd": {
"bsonType": "password", // 即使不配置权限,此字段也无法在客户端读写
"title": "密码"
}
}
}
```
#### 指定数据集权限控制 #### 指定数据集权限控制
`DB Schema`提供了一个内置变量doc,表示要意图操作的数据记录。并支持用各种表达式来描述指定的记录。 `DB Schema`提供了一个内置变量doc,表示要意图操作的数据记录。并支持用各种表达式来描述指定的记录。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册