鸿蒙开发接口安全:【@ohos.abilityAccessCtrl (访问控制管理)】

访问控制管理

icon-note.gif 说明:  本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import abilityAccessCtrl from '@ohos.abilityAccessCtrl'

abilityAccessCtrl.createAtManager

createAtManager(): AtManager

访问控制管理:获取访问控制模块对象。

系统能力:  SystemCapability.Security.AccessToken

返回值:

类型 说明
[AtManager] 获取访问控制模块的实例。

示例:

var AtManager = abilityAccessCtrl.createAtManager();

AtManager

管理访问控制模块的实例。

verifyAccessToken

verifyAccessToken(tokenID: number, permissionName: string): Promise

校验应用是否授予权限,使用Promise方式异步返回结果。

系统能力:  SystemCapability.Security.AccessToken

参数:

参数名 类型 必填 说明
tokenID number 要校验的目标应用的身份标识。
permissionName string 需要校验的权限名称。

返回值:

类型 说明
Promise Promise实例,用于获取异步返回的授权状态结果。

示例:

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.verifyAccessToken(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
    console.log(`promise: data->${JSON.stringify(data)}`);
});

grantUserGrantedPermission

grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise

授予应用user grant权限,使用Promise方式异步返回结果。

需要权限:  ohos.permission.GRANT_SENSITIVE_PERMISSIONS

系统能力:  SystemCapability.Security.AccessToken

参数:

参数名 类型 必填 说明
tokenID number 目标应用的身份标识。
permissionName string 被授予的权限名称。
permissionFlag number 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。

返回值:

类型 说明
Promise Promise实例,用于获取异步返回的授权操作结果。

示例:

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag);
promise.then(data => {
    console.log(`promise: data->${JSON.stringify(data)}`);
});

grantUserGrantedPermission

grantUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback): void

授予应用user grant权限,使用callback回调异步返回结果。

需要权限:  ohos.permission.GRANT_SENSITIVE_PERMISSIONS

系统能力:  SystemCapability.Security.AccessToken

参数:

参数名 类型 必填 说明
tokenID number 目标应用的身份标识。
permissionName string 被授予的权限名称。
permissionFlag number 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。
callback AsyncCallback 检查授予应用user grant权限的操作结果同步的回调。

示例:

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.grantUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
    console.log(`callback: data->${JSON.stringify(data)}`);
});

revokeUserGrantedPermission

revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number): Promise

撤销应用user grant权限,使用Promise方式异步返回结果。

需要权限:  ohos.permission.REVOKE_SENSITIVE_PERMISSIONS

系统能力:  SystemCapability.Security.AccessToken

参数:

参数名 类型 必填 说明
tokenID number 目标应用的身份标识。
permissionName string 被撤销的权限名称。
permissionFlag number 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。

返回值:

类型 说明
Promise Promise实例,用于获取异步返回的授权操作结果。

示例:

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
let promise = AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS", permissionFlag);
promise.then(data => {
    console.log(`promise: data->${JSON.stringify(data)}`);
});

revokeUserGrantedPermission

revokeUserGrantedPermission(tokenID: number, permissionName: string, permissionFlag: number, callback: AsyncCallback): void

撤销应用user grant权限,使用callback回调异步返回结果。

需要权限:  ohos.permission.REVOKE_SENSITIVE_PERMISSIONS

系统能力:  SystemCapability.Security.AccessToken

参数:

参数名 类型 必填 说明
tokenID number 目标应用的身份标识。
permissionName string 被撤销的权限名称。
permissionFlag number 授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。
callback AsyncCallback 检查撤销应用user grant权限的操作结果同步的回调。

示例:

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let permissionFlag = 1;
AtManager.revokeUserGrantedPermission(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS",permissionFlag, data => {
    console.log(`callback: data->${JSON.stringify(data)}`);
});

getPermissionFlags

getPermissionFlags(tokenID: number, permissionName: string): Promise

获取指定应用的指定权限的flag,使用Promise方式异步返回结果。

需要权限:  ohos.permission.GET_SENSITIVE_PERMISSIONS or GRANT_SENSITIVE_PERMISSIONS or REVOKE_SENSITIVE_PERMISSIONS

系统能力:  SystemCapability.Security.AccessToken

参数:

参数名 类型 必填 说明
tokenID number 目标应用的身份标识。
permissionName string 查询的权限名称。

返回值:

类型 说明
Promise Promise实例,用于获取异步返回的查询结果。

示例:

var AtManager = abilityAccessCtrl.createAtManager();
let tokenID = 0;
let promise = AtManager.getPermissionFlags(tokenID, "ohos.permission.GRANT_SENSITIVE_PERMISSIONS");
promise.then(data => {
    console.log(`promise: data->${JSON.stringify(data)}`);
});

GrantStatus

表示授权状态的枚举。

系统能力:  以下各项对应的系统能力均为SystemCapability.Security.AccessToken

名称 默认值 描述
PERMISSION_DENIED -1 表示未授权。
PERMISSION_GRANTED 0 表示已授权。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 01:14:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 01:14:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 01:14:02       82 阅读
  4. Python语言-面向对象

    2024-06-06 01:14:02       91 阅读

热门阅读

  1. 【程序填空题】矩阵(运算符重载)

    2024-06-06 01:14:02       27 阅读
  2. Vue前端如何配合SpringBoot后端实现文件下载

    2024-06-06 01:14:02       30 阅读
  3. Pytorch 星号*放在tensor前的作用

    2024-06-06 01:14:02       27 阅读
  4. 【vscode】ctrl+shift+end选中以下所有行删除

    2024-06-06 01:14:02       32 阅读
  5. 神经网络应用场景——图像识别

    2024-06-06 01:14:02       26 阅读
  6. 联想R9000p游戏本常用快捷键

    2024-06-06 01:14:02       105 阅读