鸿蒙原生应用元服务-访问控制(权限)开发校验环节

一、场景介绍

应用在提供对外功能服务接口时,可以根据接口涉数据的敏感程度或所涉能力的安全威胁影响,在系统定义的权限列表中权限定义列表选择合适的权限限制当前接口的开放范围,对接口访问者进行权限校验。

二、接口说明

以下仅列举本指导使用的接口。

checkAccessToken(tokenID: number, permissionName: Permissions): Promise<GrantStatus>

参数名

类型

必填

说明

tokenID

number

要校验的目标应用的身份标识。可通过应用的ApplicationInfo获得。

permissionName

Permissions

需要校验的权限名称,合法的权限名取值可在系统权限定义列表中查询。

三、完整示例

进行权限校验的开发步骤为:

1.获取调用者的身份标识:tokenId。

2.待校验的权限名:ohos.permission.ACCELEROMETER。

3.使用checkAccessToken接口对当前调用者进行权限校验。

4.根据权限校验结果采取对应的措施。

  import abilityAccessCtrl from '@ohos.abilityAccessCtrl'
  import rpc from '@ohos.rpc'

  class Stub extends rpc.RemoteObject {
      onRemoteRequest(code, data, reply, option) {
          let callerTokenId = rpc.IPCSkeleton.getCallingTokenId();
          console.log("RpcServer: getCallingTokenId result: " + callerTokenId);
          var atManager = abilityAccessCtrl.createAtManager();
          try {
              atManager.checkAccessToken(callerTokenId, "ohos.permission.ACCELEROMETER").then((data) => {
                  console.log(`checkAccessToken success, data->${JSON.stringify(data)}`);
              }).catch((err) => {
                  console.log(`checkAccessToken fail, err->${JSON.stringify(err)}`);
              });
          } catch(err) {
              console.log(`catch err->${JSON.stringify(err)}`);
          }
          return true;
      }
  }

本文根据HarmonyOS官方文档API9整理

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-26 00:54:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-26 00:54:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-26 00:54:02       82 阅读
  4. Python语言-面向对象

    2024-04-26 00:54:02       91 阅读

热门阅读

  1. HTTP Host 头攻击 原理以及修复方法

    2024-04-26 00:54:02       36 阅读
  2. SpringBoot项目启动内存泄漏问题排查与解决

    2024-04-26 00:54:02       37 阅读
  3. Leetcode 931. Minimum Falling Path Sum

    2024-04-26 00:54:02       36 阅读
  4. go | 切片的长度和容量

    2024-04-26 00:54:02       34 阅读
  5. MySQL数据库管理DDL语言和数据库管理

    2024-04-26 00:54:02       33 阅读
  6. vue3中a-select的模糊查询

    2024-04-26 00:54:02       35 阅读
  7. 蚂蚁 2025届暑期实习 多模态LLM 面经

    2024-04-26 00:54:02       35 阅读
  8. Linux第三章

    2024-04-26 00:54:02       30 阅读