Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
3c3ec279
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看板
未验证
提交
3c3ec279
编写于
3月 01, 2022
作者:
O
openharmony_ci
提交者:
Gitee
3月 01, 2022
浏览文件
操作
浏览文件
下载
差异文件
!1729 补充 访问控制模块的开发指南
Merge pull request !1729 from shuqinglin/lsq_0301_02
上级
133b1959
9a735dad
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
67 addition
and
0 deletion
+67
-0
zh-cn/application-dev/security/Readme-CN.md
zh-cn/application-dev/security/Readme-CN.md
+4
-0
zh-cn/application-dev/security/accesstoken-guidelines.md
zh-cn/application-dev/security/accesstoken-guidelines.md
+45
-0
zh-cn/application-dev/security/accesstoken-overview.md
zh-cn/application-dev/security/accesstoken-overview.md
+18
-0
未找到文件。
zh-cn/application-dev/security/Readme-CN.md
浏览文件 @
3c3ec279
...
...
@@ -10,3 +10,7 @@
-
Hap包签名工具
-
[
Hap包签名工具开发指导
](
hapsigntool-guidelines.md
)
-
访问控制
-
[
访问控制开发概述
](
accesstoken-overview.md
)
-
[
访问控制开发指导
](
accesstoken-guidelines.md
)
zh-cn/application-dev/security/accesstoken-guidelines.md
0 → 100644
浏览文件 @
3c3ec279
# 访问控制开发指导
## 场景介绍
当应用申请的权限需要用户授权,即申请的权限为user_grant权限时,可以通过权限校验,判断当前调用者是否具备相应权限。
## 接口说明
接口的具体说明可以查阅
[
API参考
](
../reference/apis/js-apis-abilityAccessCtrl.md
)
| 接口名 | 描述 |
| ------------------------------------------------------------ | ---------------- |
| verifyAccessToken(tokenID: number, permissionName: string): Promise
<
GrantStatus
>
| 校验应用是否授予权限,使用Promise方式异步返回结果。 |
## 开发步骤
对访问者进行权限校验的开发步骤为:
1.
获取调用者的身份标识: tokenId
2.
识别需要校验的权限: permissionNameUser
3.
对当前调用者进行权限校验
代码示例如下:
```
js
import
{
describe
,
beforeEach
,
afterEach
,
it
,
expect
}
from
'
deccjsunit/index
'
import
abilityAccessCtrl
from
'
@ohos.abilityAccessCtrl
'
import
bundle
from
'
@ohos.bundle
'
var
permissionNameUser
=
"
ohos.permission.ALPHA
"
;
var
bundleFlag
=
0
;
var
tokenID
=
undefined
;
var
userID
=
100
;
var
appInfo
=
await
bundle
.
getApplicationInfo
(
'
ohos.acts.security.access_token.normal
'
,
bundleFlag
,
userID
);
tokenID
=
appInfo
.
accessTokenId
;
console
.
log
(
"
AccessTokenTest accessTokenId:
"
+
appInfo
.
accessTokenId
+
"
, name:
"
+
appInfo
.
name
+
"
, bundleName:
"
+
appInfo
.
bundleName
)
var
atManager
=
abilityAccessCtrl
.
createAtManager
();
var
result
=
await
atManager
.
verifyAccessToken
(
tokenID
,
permissionNameUser
);
if
(
result
==
abilityAccessCtrl
.
GrantStatus
.
PERMISSION_GRANTED
)
{
// 执行操作
}
else
{
// 申请动态授权,使用接口:requestPermissionsFromUser
}
```
> **说明:**
动态授权申请接口的使用详见
[
API参考
](
../reference/apis/js-apis-ability-context.md
)
\ No newline at end of file
zh-cn/application-dev/security/accesstoken-overview.md
0 → 100644
浏览文件 @
3c3ec279
# 访问控制开发指南
## 功能简介
ATM(AccessTokenManager)是OpenHarmony上基于AccessToken构建的统一的应用权限管理能力。
当前,ATM模块对应用提供了权限校验功能,应用可以检查当前访问者是否具有所需的权限。
## 基本概念
当前,ATM提供的应用权限校验功能是基于统一管理的TokenID(Token identity)。
-
TokenID:32bits的设备内唯一标识符,用于标识每个应用的Accestoken信息。
-
Accestoken信息:主要包括应用身份标识APPID、用户ID、应用分身索引、应用APL(Ability Privilege Level)、应用权限信息等。
## 约束与限制
-
应用不允许自定义权限,系统权限定义信息详见
[
权限定义信息
](
https://gitee.com/openharmony/resources/blob/master/systemres/main/config.json
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录