鸿蒙开发接口安全:【@ohos.abilityAccessCtrl (访问控制管理)】 ...

打印 上一主题 下一主题

主题 831|帖子 831|积分 2493

访问控制管理

   
 分析:  本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
  导入模块

  1. import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
复制代码
abilityAccessCtrl.createAtManager

createAtManager(): AtManager
访问控制管理:获取访问控制模块对象。
系统能力:  SystemCapability.Security.AccessToken
返回值:
类型分析[AtManager]获取访问控制模块的实例。 示例:
  1. var AtManager = abilityAccessCtrl.createAtManager();
复制代码
AtManager

管理访问控制模块的实例。
verifyAccessToken

verifyAccessToken(tokenID: number, permissionName: string): Promise
校验应用是否授予权限,使用Promise方式异步返回效果。
系统能力:  SystemCapability.Security.AccessToken
参数:
参数名类型必填分析tokenIDnumber是要校验的目的应用的身份标识。permissionNamestring是需要校验的权限名称。 返回值:
类型分析PromisePromise实例,用于获取异步返回的授权状态效果。 示例:
  1. var AtManager = abilityAccessCtrl.createAtManager();
  2. 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实例,用于获取异步返回的授权操作效果。 示例:
  1. var AtManager = abilityAccessCtrl.createAtManager();
  2. 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权限的操作效果同步的回调。 示例:
  1. var AtManager = abilityAccessCtrl.createAtManager();
  2. 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实例,用于获取异步返回的授权操作效果。 示例:
  1. var AtManager = abilityAccessCtrl.createAtManager();
  2. 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权限的操作效果同步的回调。 示例:
  1. var AtManager = abilityAccessCtrl.createAtManager();
  2. 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实例,用于获取异步返回的查询效果。 示例:
  1. var AtManager = abilityAccessCtrl.createAtManager();
  2. 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企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

徐锦洪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表