鸿蒙开发接口安全:【@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

参数:

参数名类型必填说明
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查询的权限名称。

返回值:

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

示例:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeeCode 1787 DP

题意 传送门 LeeCode 1787 使所有区间的异或结果为零 题解 任一个元素都至多对 k k k个长度为 k k k的区间产生影响,故难以直接依次处理每一个元素。 观察到满足条件的数组中模 k k k意义下索引相等的各个元素相同,故可以依次处理每一个同余类。 d p…

OpenCV学习(4.1) 改变颜色空间

1.目标 在本教程中,你将学习如何将图像从一个色彩空间转换到另一个,像BGR↔灰色,BGR↔HSV等除此之外,我们还将创建一个应用程序,以提取视频中的彩色对象你将学习以下功能:cv2.cvtColor,**cv2.i…

更适合工程师和研究僧的FPGA专项培训课程

各位编程精英er~ 社区打造的FPGA工程师培训班上线后,有不少同学后台私信询问:“能不能出个那种专门针对某个知识点的课程呢?我想针对自己的薄弱点深入学习。” 贴心如我,当然会满足大家的学习需求啦。本周,社区FPGA专…

数学学习基本理念与方法

公理:不证自明的命题,一定条件下都认同的正确的结论 定理:在公理基础上由严谨的数学逻辑获得(为证明的,叫猜想) 推论:由某个定理推导出来,相对定理约束条件更多,重要程度…

面试题:说说你对 JS 中 this 指向的了解

面试题:说说你对 JS 中 this 指向的了解 JS 的代码执行环境分为严格模式和非严格模式,可以通过 use strict 打开严格模式,此时 JS 在语法检查上会更加严格。要讨论 JS 中的 this 指向问题,也要分为严格模式和非严格模式进行讨论。…

VRRP简介

一、VRRP 定义概念 VRRP “Virtual Router Redundancy Protocol”即虚拟路由器冗余协议。 一种将多个物理路由器组合成一个虚拟路由器的协议。为了提供网关的冗余备份,提高网络的可靠性。虚拟路由器拥有虚拟 IP 地址和虚拟 MAC 地址。虚拟信息作为终端设备访问网络…

Nextjs使用教程

一.手动创建项目 建议看这个中文网站文档,这个里面的案例配置都是手动的,也可以往下看我这个博客一步步操作 1.在目录下执行下面命令,初始化package.json文件 npm init -y2.安装react相关包以及next包 yarn add next react react-dom // 或者 npm install --save next react…

使用Python操作Redis

大家好,在当今的互联网时代,随着数据量和用户量的爆发式增长,对于数据存储和处理的需求也日益增加。Redis作为一种高性能的键值存储数据库,以其快速的读写速度、丰富的数据结构支持和灵活的应用场景而备受青睐。本文将介绍Redis数…

猫头虎分享已解决Bug || Error: ‘fetch‘ is not defined

原创作者: 猫头虎 作者微信号: Libin9iOak 作者公众号: 猫头虎技术团队 更新日期: 2024年6月6日 博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: &…

独立游戏之路 -- 上架TapTap步骤和注意事项

个人开发者游戏上架TapTap上架步骤和注意事项 一、TapTap 介绍二、独立游戏上架 TapTap 的步骤2.1 创建游戏2.2 提交游戏审核2.3 TapTap 平台上发布。 三、注意事项3.1 关于备案3.2 遵守 TapTap 的规定3.3 保证游戏质量 四、常见问题4.1 隐私政策问题4.2 先发布还是先优化&…

C语言学习--链式结构

结构体的应用: //数据结构与算法 数据结构 ---- 指的是 数据的组织形式 数组 --- 数据结构 数组特点 连续性,有序性,单一性 数据操作(访问)时的特点 -------------------…

Ubuntu24.04记录网易邮箱大师的安装

邮箱大师下载 官网自行下载,下载后文件名“mail.deb" https://dashi.163.com/ 安装发现缺少依赖 #mermaid-svg-8wqpqFSBVOPD7NGP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-8wqpqFSBVOPD7NGP …

PIVOT函数-动态列

一、需求说明 原始表&#xff1a; select * from pathogen_pro; 将pm_name的值转成对应的列&#xff0c;效果如下 二、PIVOT函数说明 PIVOT(<聚合函数>([聚合列值]) FOR [行转列前的列名] IN([行转列后的列名1],[行转列后的列名2],[行转列后的列名3],.......[行转列后…

Julia编程11:变量作用域 Scope of Variables

There are two main types of scopes in Julia, global* scope* and local* scope*. Julia有全局变量作用域和局部变量作用域&#xff0c;函数或者一些结构体、循环体如for等是否内部是局部环境可以参照下表。 ConstructScope typeAllowed withinmodule, baremoduleglobalglo…

.Net 基于.Net8开发的一个Asp.Net Core Webapi后端框架

1.项目结构 该项目是基于.net8开发的Asp.Net Core WebApi后端服务,集成了Efcore,Autofac,Jwt,AutoMapper,Serilog,Quartz,MiniExcel等组件。该框架简单易上手&#xff0c;没有额外的学习成本; 该项目采用了多层结构设计&#xff0c;有利于解耦&#xff0c;包含公共层&#xff0…

Linux入门学习指南

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

MySQL数据库整体知识点简述

目录 第一章&#xff1a;数据库系统概述 第二章&#xff1a;信息与数据模型 第3章 关系模型与关系规范化理论 第四章——数据库设计方法 第六-七章——MySQL存储引擎与数据库操作管理 第九章——索引 第10章——视图 第11章——MySQL存储过程与函数 第12章——MySQL 触…

【SIPMRCP】freeswitch中的transfer和bridge有什么区别

在FreeSWITCH中&#xff0c;transfer和bridge是两个用于处理通话的不同概念&#xff0c;它们之间的主要区别体现在功能和用途上。以下是关于这两个概念的清晰解释和区别&#xff1a; transfer&#xff08;转移&#xff09; 功能&#xff1a;transfer主要用于将通话从一个目标…

IIS7整合Tomcat9服务器,并搭建ASP+PHP+JSP完整运行环境

本文以Windows Vista系统为例&#xff0c;详细讲解IIS7整合Tomcat服务器&#xff0c;同时支持ASPPHPJSP三种Web动态网页技术的方法。 Vista系统自带的IIS版本为7.0&#xff0c;能安装的IE浏览器的最高版本为IE9。IE9也是Vue2前端框架支持的最低浏览器版本。 【准备工作】 去微…

【TB作品】msp430g2553单片机,读取GY-30光强,串口发送

硬件 //GY-30 //SCL–P1.4 //SDA–P1.5 //VCC–3.3V //GND–GND //ADDR–不接 部分程序 #include <msp430.h> #include "gy30.h"void Send_Byte(char data) {while (!(IFG2 & UCA0TXIFG)); // USCI_A0 TX buffer ready?UCA0TXBUF data…