Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
2f4ab7bb
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2f4ab7bb
编写于
12月 29, 2022
作者:
zyjhandsome
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化《访问控制授权申请》章节部分描述内容
Signed-off-by:
zyjhandsome
<
zyjhandsome@126.com
>
上级
83b1927a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
5 deletion
+7
-5
zh-cn/application-dev/security/accesstoken-guidelines.md
zh-cn/application-dev/security/accesstoken-guidelines.md
+7
-5
未找到文件。
zh-cn/application-dev/security/accesstoken-guidelines.md
浏览文件 @
2f4ab7bb
...
@@ -15,13 +15,15 @@
...
@@ -15,13 +15,15 @@
应用需要在工程配置文件中,对需要的权限逐个声明,未在配置文件中声明的权限,应用将无法获得授权。OpenHarmony提供了两种应用模型,分别为FA模型和Stage模型,更多信息可以参考
[
应用模型解读
](
../application-models/application-model-description.md
)
。不同的应用模型的应用包结构不同,所使用的配置文件不同。
应用需要在工程配置文件中,对需要的权限逐个声明,未在配置文件中声明的权限,应用将无法获得授权。OpenHarmony提供了两种应用模型,分别为FA模型和Stage模型,更多信息可以参考
[
应用模型解读
](
../application-models/application-model-description.md
)
。不同的应用模型的应用包结构不同,所使用的配置文件不同。
> **说明**:应用默认的APL等级为`normal`,当应用需要申请`system_basic`和`system_core`等级时,除了在配置文件中进行权限声明之外,还需要通过[ACL方式](#acl方式声明)进行声明使用。
配置文件标签说明如下表所示。
配置文件标签说明如下表所示。
| 标签 | 是否必填 | 说明 |
| 标签 | 是否必填 | 说明 |
| --------- | -------- | ------------------------------------------------------------ |
| --------- | -------- | ------------------------------------------------------------ |
| name | 是 | 权限名称。 |
| name | 是 | 权限名称。 |
| reason | 否 | 描述申请权限的原因。
<br
/>
>
说明
:当申请的权限为user_grant权限时,此字段必填。 |
| reason | 否 | 描述申请权限的原因。
<br
/>
>
**说明**
:当申请的权限为user_grant权限时,此字段必填。 |
| usedScene | 否 | 描述权限使用的场景和时机。
<br
/>
>
说明
:当申请的权限为user_grant权限时,此字段必填。 |
| usedScene | 否 | 描述权限使用的场景和时机。
<br
/>
>
**说明**
:当申请的权限为user_grant权限时,此字段必填。 |
| abilities | 否 | 标识需要使用到该权限的Ability,标签为数组形式。
<br/>
**适用模型**
:Stage模型 |
| abilities | 否 | 标识需要使用到该权限的Ability,标签为数组形式。
<br/>
**适用模型**
:Stage模型 |
| ability | 否 | 标识需要使用到该权限的Ability,标签为数组形式。
<br/>
**适用模型**
:FA模型 |
| ability | 否 | 标识需要使用到该权限的Ability,标签为数组形式。
<br/>
**适用模型**
:FA模型 |
| when | 否 | 标识权限使用的时机,值为
`inuse/always`
。
<br
/>
- inuse:表示为仅允许前台使用。
<br
/>
- always:表示前后台都可使用。 |
| when | 否 | 标识权限使用的时机,值为
`inuse/always`
。
<br
/>
- inuse:表示为仅允许前台使用。
<br
/>
- always:表示前后台都可使用。 |
...
@@ -96,7 +98,7 @@
...
@@ -96,7 +98,7 @@
## ACL方式声明
## ACL方式声明
应用在申请
`system_basic`
等级权限时,高于应用默认的
`normal`
等级。当应用需要申请权限项的等级高于应用默认的等级时,需要通过ACL方式进行声明使用。
应用在申请
`system_basic`
和
`system_core`
等级权限时,高于应用默认的
`normal`
等级。当应用需要申请权限项的等级高于应用默认的等级时,需要通过ACL方式进行声明使用。
例如应用在申请访问用户公共目录下音乐类型的文件,需要申请
` ohos.permission.WRITE_AUDIO`
权限,该权限为
`system_basic`
等级;以及应用在申请截取屏幕图像功能,该权限为
`system_core`
等级,需要申请
` ohos.permission.CAPTURE_SCREEN`
权限。此时需要将相关权限项配置到
[
HarmonyAppProvision配置文件
](
app-provision-structure.md
)
的
`acl`
字段中。
例如应用在申请访问用户公共目录下音乐类型的文件,需要申请
` ohos.permission.WRITE_AUDIO`
权限,该权限为
`system_basic`
等级;以及应用在申请截取屏幕图像功能,该权限为
`system_core`
等级,需要申请
` ohos.permission.CAPTURE_SCREEN`
权限。此时需要将相关权限项配置到
[
HarmonyAppProvision配置文件
](
app-provision-structure.md
)
的
`acl`
字段中。
...
@@ -123,7 +125,7 @@
...
@@ -123,7 +125,7 @@
以允许应用读取日历信息为例进行说明。
以允许应用读取日历信息为例进行说明。
1.
申请
`ohos.permission.READ_CALENDAR`
权限,配置方式请参见
[
访问控制授权申请
](
#
stage模型
)
。
1.
申请
`ohos.permission.READ_CALENDAR`
权限,配置方式请参见
[
访问控制授权申请
](
#
配置文件权限声明
)
。
2.
可以在UIAbility的onWindowStageCreate()回调中调用
[
requestPermissionsFromUser()
](
../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9
)
接口动态申请权限,也可以根据业务需要在UI界面中向用户申请授权。根据
[
requestPermissionsFromUser()
](
../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9
)
接口返回值判断是否已获取目标权限,如果当前已经获取权限,则可以继续正常访问目标接口。
2.
可以在UIAbility的onWindowStageCreate()回调中调用
[
requestPermissionsFromUser()
](
../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9
)
接口动态申请权限,也可以根据业务需要在UI界面中向用户申请授权。根据
[
requestPermissionsFromUser()
](
../reference/apis/js-apis-abilityAccessCtrl.md#requestpermissionsfromuser9
)
接口返回值判断是否已获取目标权限,如果当前已经获取权限,则可以继续正常访问目标接口。
...
@@ -221,7 +223,7 @@ onWindowStageCreate() {
...
@@ -221,7 +223,7 @@ onWindowStageCreate() {
-
`app_signature`
字段配置为应用的指纹信息。指纹信息的配置参见
[
应用特权配置指南
](
../../device-dev/subsystems/subsys-app-privilege-config-guide.md#install_list_capabilityjson中配置
)
。
-
`app_signature`
字段配置为应用的指纹信息。指纹信息的配置参见
[
应用特权配置指南
](
../../device-dev/subsystems/subsys-app-privilege-config-guide.md#install_list_capabilityjson中配置
)
。
-
`permissions`
字段中
`name`
配置为需要预授权的
`user_grant`
类型的权限名;
`permissions`
字段中
`userCancellable`
表示为用户是否能够取消该预授权,配置为true,表示支持用户取消授权,为false则表示不支持用户取消授权。
-
`permissions`
字段中
`name`
配置为需要预授权的
`user_grant`
类型的权限名;
`permissions`
字段中
`userCancellable`
表示为用户是否能够取消该预授权,配置为true,表示支持用户取消授权,为false则表示不支持用户取消授权。
>
说明
:当前仅支持预置应用配置该文件。
>
**说明**
:当前仅支持预置应用配置该文件。
```
json
```
json
[
[
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录