鴻蒙開發接口安全:【@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.pswp.cn/bicheng/22436.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/22436.shtml
英文地址,請注明出處:http://en.pswp.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…