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

docs: uni-id & uniCloud storage

上级 67854ec3
...@@ -64,6 +64,20 @@ ...@@ -64,6 +64,20 @@
- 腾讯云`cloudPath` 为文件的绝对路径,包含文件名 foo/bar.jpg、foo/bar/baz.jpg 等,不能包含除[0-9 , a-z , A-Z]、/、!、-、\_、.、、\*和中文以外的字符,使用 / 字符来实现类似传统文件系统的层级结构。 - 腾讯云`cloudPath` 为文件的绝对路径,包含文件名 foo/bar.jpg、foo/bar/baz.jpg 等,不能包含除[0-9 , a-z , A-Z]、/、!、-、\_、.、、\*和中文以外的字符,使用 / 字符来实现类似传统文件系统的层级结构。
- 腾讯云`cloudPath`为文件标识,相同的`cloudPath`会覆盖,如果没有权限覆盖则会上传失败。阿里云以自动生成的ID为文件标识,不会存在覆盖问题 - 腾讯云`cloudPath`为文件标识,相同的`cloudPath`会覆盖,如果没有权限覆盖则会上传失败。阿里云以自动生成的ID为文件标识,不会存在覆盖问题
**关于腾讯云是否有权限覆盖/删除云端文件**
腾讯云使用[自定义登录](uniCloud/authentication.md)的方式确定用户身份。以下以默认权限”所有用户可读,仅创建者及管理员可写“为例进行讲解
默认情况下用户以匿名身份登录(为了方便暂时称此身份为“匿名用户A”)
- 云端路径不存在则可以成功上传。
- 云端路径存在并且是匿名用户A创建的可以成功上传
- 云端路径存在并且并非匿名用户A创建的会上传失败
匿名用户A身份过期之后再次获取的身份并不是”匿名用户A“(暂记为”匿名用户B“),这时匿名用户B是没有权限覆盖匿名用户A上传的文件的。
如果使用了[自定义登录](uniCloud/authentication.md),那么云存储就可以确定用户身份,这时候用户可以覆盖自己上传的文件,删除同理。
#### 响应参数 #### 响应参数
|字段 |类型 |说明 | |字段 |类型 |说明 |
......
...@@ -165,13 +165,24 @@ DCloud暂无计划开发百度、头条、QQ等小程序的登录,以及Apple ...@@ -165,13 +165,24 @@ DCloud暂无计划开发百度、头条、QQ等小程序的登录,以及Apple
## 角色权限@rbac ## 角色权限@rbac
`1.1.9`版本起uni-id支持角色权限(通常情况下管理后台会需要角色权限)。除API列表内列出的角色权限相关的接口外,还有以下调整: `1.1.9`版本起uni-id支持角色权限(通常情况下管理后台会需要角色权限)。除[角色权限API](uniCloud/uni-id.md?id=rbac-api)内列出的角色权限相关的接口外,还有以下调整:
1. 所有登录注册接口可以接收`needPermission`参数,配置为true时会在`checkToken`接口返回用户权限(permission),否则permission字段会是一个空数组。开发者可以在用户登录管理后台时,传入此参数表示当前登录的用户需要返回permission。 1. 所有登录注册接口可以接收`needPermission`参数,配置为true时会在`checkToken`接口返回用户权限(permission),否则permission字段会是一个空数组。开发者可以在用户登录管理后台时,传入此参数表示当前登录的用户需要返回permission。
2. 新增两个数据表`uni-id-roles``uni-id-permissions`,可以使用示例项目里面的db_init.json创建,也可以直接使用opendb中的这两个数据表 2. 新增两个数据表`uni-id-roles``uni-id-permissions`,可以使用示例项目里面的db_init.json创建,也可以直接使用opendb中的这两个数据表
角色权限相关API请参考[角色权限API](uniCloud/uni-id.md?id=rbac-api) 以管理后台为例,开发者可以在用户登录时传入`needPermission: true`。在checkToken时返回的结果中会包含role和permission,可以据此判断用户有没有权限进行操作。
```js
// 简单的权限校验示例
function hasPermission(token, permission) {
const checkTokenRes = await uniID.checkToken(token)
if(checkTokenRes.code) {
return false
}
return checkTokenRes.permission.includes(permission)
}
```
**注意** **注意**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册