0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-05 09:16 次阅读

访问控制管理

icon-note.gif说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

导入模块

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

参数

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

返回值:

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

示例:

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

参数:

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

返回值:

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

示例:

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

参数:

参数名类型必填说明
tokenIDnumber目标应用的身份标识。
permissionNamestring被授予的权限名称。
permissionFlagnumber授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。
callbackAsyncCallback检查授予应用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

参数:

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

返回值:

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

示例:

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

参数:

参数名类型必填说明
tokenIDnumber目标应用的身份标识。
permissionNamestring被撤销的权限名称。
permissionFlagnumber授权选项,1表示下次仍需弹窗,2表示允许、禁止后不再提醒,3表示系统授权不允许更改。
callbackAsyncCallback检查撤销应用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

参数:

参数名类型必填说明
tokenIDnumber目标应用的身份标识。
permissionNamestring查询的权限名称。

返回值:

类型说明HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿
PromisePromise实例,用于获取异步返回的查询结果。
鸿蒙文档.png

示例:

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_GRANTED0表示已授权。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8441

    浏览量

    150704
  • 鸿蒙
    +关注

    关注

    57

    文章

    2301

    浏览量

    42681
收藏 人收藏

    评论

    相关推荐

    基于Java开发鸿蒙网络访问方面的代码

    网络请求吧。 本文会从Java原生访问入手,进而再使用Retrofit访问网络,可以满足绝大部分开发者对于鸿蒙网络访问方面的代码需求,开始之
    的头像 发表于 10-16 10:40 2610次阅读

    鸿蒙开发接口媒体:【@ohos.multimedia.camera (相机管理)】

    本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
    的头像 发表于 05-31 09:42 1404次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b>媒体:【@<b class='flag-5'>ohos</b>.multimedia.camera (相机<b class='flag-5'>管理</b>)】

    鸿蒙实战项目开发:【短信服务】

    数据管理 电话服务 分布式应用开发 通知与窗口管理 多媒体技术 安全技能 任务管理 WebGL 国际化
    发表于 03-03 21:29

    鸿蒙原生应用元服务-访问控制(权限)开发Stage模型向用户申请授权

    } from \'@ohos.abilityAccessCtrl\'; async function checkAccessToken(permission: Permissions
    发表于 04-15 16:44

    鸿蒙原生应用元服务-访问控制(权限)开发校验环节

    一、场景介绍 应用在提供对外功能服务接口时,可以根据接口涉数据的敏感程度或所涉能力的安全威胁影响,在系统定义的权限列表中权限定义列表选择合适的权限限制当前接口的开放范围,对
    发表于 04-22 17:52

    鸿蒙原生应用元服务-访问控制(权限)开发应用权限列表一

    ACL使能 :TRUE ohos.permission.POWER_MANAGER 允许应用调用电源管理子系统的接口休眠或者唤醒设备。 权限级别 :system_core 授权方式
    发表于 04-23 14:33

    鸿蒙原生应用元服务-访问控制(权限)开发应用权限列表二

    ohos.permission.START_ABILITIES_FROM_BACKGROUND 允许应用在后台启动或者访问其他组件。 权限级别 :system_basic 授权方式 :system_grant ACL
    发表于 04-24 15:43

    鸿蒙原生应用元服务-访问控制(权限)开发应用权限列表三

    version 9及API version 9以上版本的SDK开发的应用申请。 ohos.permission.MEDIA_LOCATION 允许应用访问用户媒体文件中的地理位置信息。 权限级别
    发表于 04-25 16:12

    鸿蒙原生应用元服务开发-Web管理位置权限

    Web组件提供位置权限管理能力。开发者可以通过onGeolocationShow()接口对某个网站进行位置权限管理。Web组件根据接口响应结
    发表于 04-28 16:57

    基于鸿蒙Next模拟扫图识物的一个过程

    abilityAccessCtrl, { Permissions } from ‘@ohos.abilityAccessCtrl’ import picker from
    发表于 08-21 15:04

    综合访问控制模型下MIS安全设计与实现

    安全设计是管理信息系统(MIS)开发的关键问题之一。本文研究了B/S 模式下三层体系结构的管理信息系统的安全设计问题,着重研究了Web 页面
    发表于 01-27 15:06 9次下载

    鸿蒙之@ohos.bundle.defaultAppManager (默认应用管理)

    本模块提供查询默认应用的能力,支持查询当前应用是否是默认应用。 说明 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 导入模块
    的头像 发表于 02-20 17:29 453次阅读
    <b class='flag-5'>鸿蒙</b>之@<b class='flag-5'>ohos</b>.bundle.defaultAppManager (默认应用<b class='flag-5'>管理</b>)

    鸿蒙开发实战:【文件管理

    文件管理相关的功能,使用[@ohos.multimedia.medialibrary]、[@ohos.filemanagement.userFileManager] 、[@ohos
    的头像 发表于 03-20 21:57 599次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>实战:【文件<b class='flag-5'>管理</b>】

    鸿蒙开发文件管理:【@ohos.fileManager (公共文件访问管理)】

    该模块提供公共文件访问管理的服务接口,向下对接底层文件管理服务,如媒体库、外卡管理;向上对应用程序提供公共文件查询、创建的能力。
    的头像 发表于 06-12 17:00 710次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>文件<b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.fileManager (公共文件<b class='flag-5'>访问</b>与<b class='flag-5'>管理</b>)】

    鸿蒙开发设备管理ohos.thermal 热管理

    该模块提供热管理相关的接口,包括热档位查询及注册回调等功能。
    的头像 发表于 07-05 09:53 269次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>设备<b class='flag-5'>管理</b>:<b class='flag-5'>ohos</b>.thermal 热<b class='flag-5'>管理</b>