訪問控制管理
說明: 本模塊首批接口從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
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
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 | 是 | 查詢的權限名稱。 |
返回值:
類型 | 說明HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
---|---|
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 | 表示已授權。 |
審核編輯 黃宇
-
接口
+關注
關注
33文章
8687瀏覽量
151674 -
鴻蒙
+關注
關注
57文章
2390瀏覽量
42968
發布評論請先 登錄
相關推薦
評論