Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
5a6d6497
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
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看板
未验证
提交
5a6d6497
编写于
8月 19, 2022
作者:
Z
zengyawen
提交者:
Gitee
8月 19, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update zh-cn/application-dev/security/accesstoken-guidelines.md.
Signed-off-by:
N
zengyawen
<
zengyawen1@huawei.com
>
上级
73d75c63
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
17 addition
and
33 deletion
+17
-33
zh-cn/application-dev/security/accesstoken-guidelines.md
zh-cn/application-dev/security/accesstoken-guidelines.md
+17
-33
未找到文件。
zh-cn/application-dev/security/accesstoken-guidelines.md
浏览文件 @
5a6d6497
# 访问控制开发指导
# 访问控制
(权限)
开发指导
## 场景介绍
...
...
@@ -8,7 +8,7 @@
-
权限"ohos.permission.PERMISSION1"的权限等级为normal,权限类型为system_grant。
-
权限"ohos.permission.PERMISSION2"的权限等级为system_basic, 权限类型为user_grant。
> **注意
事项
:**
> **注意:**
>
> 当前场景下,应用申请的权限包括了user_grant权限,对这部分user_grant权限,可以先通过权限校验,判断当前调用者是否具备相应权限。
>
...
...
@@ -28,20 +28,21 @@
不同的Ability框架模型的应用包结构不同,所使用的配置文件不同,请开发者在申请权限时注意区分。
### FA模型
使用FA模型的应用,需要在config.json文件中声明权限。
**config.json标签说明:**
配置文件标签说明如下表。
| 标签 | 说明 |
| --------- | ------------------------------------------------------------ |
| name | 权限名称。 |
| reason | 当申请的权限为user_grant权限时,此字段必填,描述申请权限的原因。 |
| usedScene | 当申请的权限为user_grant权限时,此字段必填,描述权限使用的场景和时机。 |
| abilities | 标识需要使用到该权限的元能力,标签为数组形式。 |
| ability | 标识需要使用到该权限的元能力,标签为数组形式。
<br/>
**适用模型:**
FA模型 |
| abilities | 标识需要使用到该权限的元能力,标签为数组形式。
<br/>
**适用模型:**
Stage模型 |
| when | 标识权限使用的时机,值为"inuse/always",表示为仅允许前台使用和前后台都可使用。 |
### FA模型
使用FA模型的应用,需要在config.json文件中声明权限。
**示例:**
```
json
...
...
@@ -52,7 +53,7 @@
"name"
:
"ohos.permission.PERMISSION1"
,
"reason"
:
"$string:reason"
,
"usedScene"
:
{
"abilit
ies
"
:
[
"abilit
y
"
:
[
"FormAbility"
],
"when"
:
"inuse"
...
...
@@ -62,13 +63,13 @@
"name"
:
"ohos.permission.PERMISSION2"
,
"reason"
:
"$string:reason"
,
"usedScene"
:
{
"abilit
ies
"
:
[
"abilit
y
"
:
[
"FormAbility"
],
"when"
:
"always"
}
}
]
,
]
}
}
```
...
...
@@ -112,34 +113,17 @@
如上述示例所示,权限"ohos.permission.PERMISSION2"的权限等级为system_basic,高于应用此时应用的APL等级,用户的最佳做法是使用ACL方式。
在配置文件声明的基础上,应用还需要在
[
profile文件
](
../quick-start/app-provision-structure.md
)
中声明不满足申请条件部分的权限。该场景中,用户应该在字段"acls"中做声明如下:
在配置文件声明的基础上,应用还需要在Profile文件中声明不满足申请条件部分的权限。Profile文件的字段说明可参考
[
HarmonyAppProvision配置文件的说明
](
../quick-start/app-provision-structure.md
)
。
该场景中,用户应该在字段"acls"中做声明如下:
```
json
{
"version-name"
:
"1.0.0"
,
"version-code"
:
1
,
"app-distribution-type"
:
"os_integration"
,
"uuid"
:
"5027b99e-5f9e-465d-9508-a9e0134ffe18"
,
"validity"
:
{
"not-before"
:
1594865258
,
"not-after"
:
1689473258
},
"type"
:
"release"
,
"bundle-info"
:
{
"developer-id"
:
"OpenHarmony"
,
"distribution-certificate"
:
"-----BEGIN CERTIFICATE-----
\n
MIICMzCCAbegAwIBAgIEaOC/zDAMBggqhkjOPQQDAwUAMGMxCzAJBgNVBAYTAkNO
\n
MRQwEgYDVQQKEwtPcGVuSGFybW9ueTEZMBcGA1UECxMQT3Blbkhhcm1vbnkgVGVh
\n
bTEjMCEGA1UEAxMaT3Blbkhhcm1vbnkgQXBwbGljYXRpb24gQ0EwHhcNMjEwMjAy
\n
MTIxOTMxWhcNNDkxMjMxMTIxOTMxWjBoMQswCQYDVQQGEwJDTjEUMBIGA1UEChML
\n
T3Blbkhhcm1vbnkxGTAXBgNVBAsTEE9wZW5IYXJtb255IFRlYW0xKDAmBgNVBAMT
\n
H09wZW5IYXJtb255IEFwcGxpY2F0aW9uIFJlbGVhc2UwWTATBgcqhkjOPQIBBggq
\n
hkjOPQMBBwNCAATbYOCQQpW5fdkYHN45v0X3AHax12jPBdEDosFRIZ1eXmxOYzSG
\n
JwMfsHhUU90E8lI0TXYZnNmgM1sovubeQqATo1IwUDAfBgNVHSMEGDAWgBTbhrci
\n
FtULoUu33SV7ufEFfaItRzAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFPtxruhl
\n
cRBQsJdwcZqLu9oNUVgaMAwGCCqGSM49BAMDBQADaAAwZQIxAJta0PQ2p4DIu/ps
\n
LMdLCDgQ5UH1l0B4PGhBlMgdi2zf8nk9spazEQI/0XNwpft8QAIwHSuA2WelVi/o
\n
zAlF08DnbJrOOtOnQq5wHOPlDYB4OtUzOYJk9scotrEnJxJzGsh/
\n
-----END CERTIFICATE-----
\n
"
,
"bundle-name"
:
"com.ohos.permissionmanager"
,
"apl"
:
"system_core"
,
"app-feature"
:
"hos_system_app"
},
"acls"
:
{
"allowed-acls"
:
[
"ohos.permission.PERMISSION2"
]
},
"permissions"
:
{
"restricted-permissions"
:
[]
},
"issuer"
:
"pki_internal"
}
```
...
...
@@ -151,7 +135,7 @@
如果校验结果显示,应用已经获取了该权限,那么应用可以直接访问该目标接口,否则,应用需要通过动态弹框先申请用户授权,并根据授权结果进行相应处理,处理方式可参考
[
访问控制开发概述
](
accesstoken-overview.md
)
。
> **注意
事项
:**
> **注意:**
>
> 不能把之前授予的状态持久化,每次访问受目标权限保护的接口前,都应该检查权限授权状态,因为用户在动态授予后可能通过设置取消应用的权限。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录