访问控制管理
分析: 本模块首批接口从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表示已授权。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |