• 鸿蒙开发接口安全:【@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表示已授权。
  • 相关阅读:
    简单的网页制作期末作业——电影泰坦尼克号(4页)
    设计模式之抽象工厂模式--创建一系列相关对象的艺术(简单工厂、工厂方法、到抽象工厂的进化过程,类图NS图)
    “AI在未来”公益计划,亚马逊云科技将教育资源带到更多中西部学校
    文心一言 VS 讯飞星火 VS chatgpt (94)-- 算法导论9.2 3题
    Linux下设置网关以及网络相关命令
    续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App
    Linux下安装配置各种软件和服务
    .Net IDE智能提示汉化(.Net6、AspNetCore)
    【TS】Error: Property ‘click‘ does not exist on type ‘Element‘
    Spring MVC更多家族成员--国际化视图与LocalResolver---10
  • 原文地址:https://blog.csdn.net/2301_76813281/article/details/139455170