0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)接口安全:【@ohos.abilityAccessCtrl (訪問控制管理)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-05 09:16 ? 次閱讀

訪問控制管理

icon-note.gif說明: 本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。 開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

導入模塊

import abilityAccessCtrl from '@ohos.abilityAccessCtrl'

abilityAccessCtrl.createAtManager

createAtManager(): AtManager

訪問控制管理:獲取訪問控制模塊對象。

系統(tǒng)能力: SystemCapability.Security.AccessToken

返回值:

類型說明
[AtManager]獲取訪問控制模塊的實例。

示例:

var AtManager = abilityAccessCtrl.createAtManager();

AtManager

管理訪問控制模塊的實例。

verifyAccessToken

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

校驗應用是否授予權限,使用Promise方式異步返回結果。

系統(tǒng)能力: SystemCapability.Security.AccessToken

參數(shù)

參數(shù)名類型必填說明
tokenIDnumber要校驗的目標應用的身份標識。
permissionNamestring需要校驗的權限名稱。

返回值:

類型說明
PromisePromise實例,用于獲取異步返回的授權狀態(tài)結果。

示例:

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

系統(tǒng)能力: SystemCapability.Security.AccessToken

參數(shù):

參數(shù)名類型必填說明
tokenIDnumber目標應用的身份標識。
permissionNamestring被授予的權限名稱。
permissionFlagnumber授權選項,1表示下次仍需彈窗,2表示允許、禁止后不再提醒,3表示系統(tǒng)授權不允許更改。

返回值:

類型說明
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回調(diào)異步返回結果。

需要權限: ohos.permission.GRANT_SENSITIVE_PERMISSIONS

系統(tǒng)能力: SystemCapability.Security.AccessToken

參數(shù):

參數(shù)名類型必填說明
tokenIDnumber目標應用的身份標識。
permissionNamestring被授予的權限名稱。
permissionFlagnumber授權選項,1表示下次仍需彈窗,2表示允許、禁止后不再提醒,3表示系統(tǒng)授權不允許更改。
callbackAsyncCallback檢查授予應用user grant權限的操作結果同步的回調(diào)。

示例:

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

系統(tǒng)能力: SystemCapability.Security.AccessToken

參數(shù):

參數(shù)名類型必填說明
tokenIDnumber目標應用的身份標識。
permissionNamestring被撤銷的權限名稱。
permissionFlagnumber授權選項,1表示下次仍需彈窗,2表示允許、禁止后不再提醒,3表示系統(tǒng)授權不允許更改。

返回值:

類型說明
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回調(diào)異步返回結果。

需要權限: ohos.permission.REVOKE_SENSITIVE_PERMISSIONS

系統(tǒng)能力: SystemCapability.Security.AccessToken

參數(shù):

參數(shù)名類型必填說明
tokenIDnumber目標應用的身份標識。
permissionNamestring被撤銷的權限名稱。
permissionFlagnumber授權選項,1表示下次仍需彈窗,2表示允許、禁止后不再提醒,3表示系統(tǒng)授權不允許更改。
callbackAsyncCallback檢查撤銷應用user grant權限的操作結果同步的回調(diào)。

示例:

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

系統(tǒng)能力: SystemCapability.Security.AccessToken

參數(shù):

參數(shù)名類型必填說明
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

表示授權狀態(tài)的枚舉。

系統(tǒng)能力: 以下各項對應的系統(tǒng)能力均為SystemCapability.Security.AccessToken

名稱默認值描述
PERMISSION_DENIED-1表示未授權。
PERMISSION_GRANTED0表示已授權。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8611

    瀏覽量

    151247
  • 鴻蒙
    +關注

    關注

    57

    文章

    2358

    瀏覽量

    42876
收藏 人收藏

    評論

    相關推薦

    基于Java開發(fā)鴻蒙網(wǎng)絡訪問方面的代碼

    網(wǎng)絡請求吧。 本文會從Java原生訪問入手,進而再使用Retrofit訪問網(wǎng)絡,可以滿足絕大部分開發(fā)者對于鴻蒙網(wǎng)絡訪問方面的代碼需求,開始之
    的頭像 發(fā)表于 10-16 10:40 ?2658次閱讀

    鴻蒙開發(fā)接口媒體:【@ohos.multimedia.camera (相機管理)】

    本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
    的頭像 發(fā)表于 05-31 09:42 ?1534次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>接口</b>媒體:【@<b class='flag-5'>ohos</b>.multimedia.camera (相機<b class='flag-5'>管理</b>)】

    鴻蒙實戰(zhàn)項目開發(fā):【短信服務】

    數(shù)據(jù)管理 電話服務 分布式應用開發(fā) 通知與窗口管理 多媒體技術 安全技能 任務管理 WebGL 國際化
    發(fā)表于 03-03 21:29

    鴻蒙原生應用元服務-訪問控制(權限)開發(fā)Stage模型向用戶申請授權

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

    鴻蒙原生應用元服務-訪問控制(權限)開發(fā)校驗環(huán)節(jié)

    一、場景介紹 應用在提供對外功能服務接口時,可以根據(jù)接口涉數(shù)據(jù)的敏感程度或所涉能力的安全威脅影響,在系統(tǒng)定義的權限列表中權限定義列表選擇合適的權限限制當前接口的開放范圍,對
    發(fā)表于 04-22 17:52

    鴻蒙原生應用元服務-訪問控制(權限)開發(fā)應用權限列表一

    ACL使能 :TRUE ohos.permission.POWER_MANAGER 允許應用調(diào)用電源管理子系統(tǒng)的接口休眠或者喚醒設備。 權限級別 :system_core 授權方式
    發(fā)表于 04-23 14:33

    鴻蒙原生應用元服務-訪問控制(權限)開發(fā)應用權限列表二

    ohos.permission.START_ABILITIES_FROM_BACKGROUND 允許應用在后臺啟動或者訪問其他組件。 權限級別 :system_basic 授權方式 :system_grant ACL
    發(fā)表于 04-24 15:43

    鴻蒙原生應用元服務-訪問控制(權限)開發(fā)應用權限列表三

    version 9及API version 9以上版本的SDK開發(fā)的應用申請。 ohos.permission.MEDIA_LOCATION 允許應用訪問用戶媒體文件中的地理位置信息。 權限級別
    發(fā)表于 04-25 16:12

    鴻蒙原生應用元服務開發(fā)-Web管理位置權限

    Web組件提供位置權限管理能力。開發(fā)者可以通過onGeolocationShow()接口對某個網(wǎng)站進行位置權限管理。Web組件根據(jù)接口響應結
    發(fā)表于 04-28 16:57

    基于鴻蒙Next模擬掃圖識物的一個過程

    abilityAccessCtrl, { Permissions } from ‘@ohos.abilityAccessCtrl’ import picker from
    發(fā)表于 08-21 15:04

    鴻蒙Flutter實戰(zhàn):14-現(xiàn)有Flutter 項目支持鴻蒙 II

    ).jpeg 總結 通過 FVM 管理多個 Flutter SDK 版本,僅在鴻蒙調(diào)測打包時,切換到 ohos-flutter SDK 通過 apps 殼工程,將鴻蒙化適配的代碼,盡量
    發(fā)表于 12-26 14:59

    綜合訪問控制模型下MIS安全設計與實現(xiàn)

    安全設計是管理信息系統(tǒng)(MIS)開發(fā)的關鍵問題之一。本文研究了B/S 模式下三層體系結構的管理信息系統(tǒng)的安全設計問題,著重研究了Web 頁面
    發(fā)表于 01-27 15:06 ?9次下載

    鴻蒙之@ohos.bundle.defaultAppManager (默認應用管理)

    本模塊提供查詢默認應用的能力,支持查詢當前應用是否是默認應用。 說明 本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。 導入模塊
    的頭像 發(fā)表于 02-20 17:29 ?521次閱讀
    <b class='flag-5'>鴻蒙</b>之@<b class='flag-5'>ohos</b>.bundle.defaultAppManager (默認應用<b class='flag-5'>管理</b>)

    鴻蒙開發(fā)實戰(zhàn):【文件管理

    文件管理相關的功能,使用[@ohos.multimedia.medialibrary]、[@ohos.filemanagement.userFileManager]?、[@ohos
    的頭像 發(fā)表于 03-20 21:57 ?680次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>實戰(zhàn):【文件<b class='flag-5'>管理</b>】

    鴻蒙開發(fā)文件管理:【@ohos.fileManager (公共文件訪問管理)】

    該模塊提供公共文件訪問管理的服務接口,向下對接底層文件管理服務,如媒體庫、外卡管理;向上對應用程序提供公共文件查詢、創(chuàng)建的能力。
    的頭像 發(fā)表于 06-12 17:00 ?910次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>文件<b class='flag-5'>管理</b>:【@<b class='flag-5'>ohos</b>.fileManager (公共文件<b class='flag-5'>訪問</b>與<b class='flag-5'>管理</b>)】