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

阅读量0
0
0

一、场景介绍
应用在提供对外功能服务接口时,可以根据接口涉数据的敏感程度或所涉能力的安全威胁影响,在系统定义的权限列表中权限定义列表选择合适的权限限制当前接口的开放范围,对接口访问者进行权限校验。
二、接口说明
以下仅列举本指导使用的接口。
checkAccessToken(tokenID: number, permissionName: Permissions): Promise
鸿蒙原生应用元服务-访问控制(权限)开发校验环节-鸿蒙开发者社区
三、完整示例
进行权限校验的开发步骤为:
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整理

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友