HarmonyOS 中所有的应用均在应用沙盒内运行。默认情况下,应用只能访问有限的系统资源,系统负责管理应用对资源的访问权限。

应用权限管理是由接口提供方(Ability)、接口使用方(应用)、系统(包括云侧和端侧)以及用户等多方共同参与的整个流程,保证受限接口是在约定好的规则下被正常使用,避免接口被滥用而导致用户、应用和设备受损。

权限声明

应用需要在 config.json 中使用“reqPermissions”属性对需要的权限逐个进行声明。

若使用到的三方库也涉及权限使用,也需统一在应用的config.json中逐个声明。

没有在config.json中声明的权限,应用就无法获得此权限的授权。

动态申请敏感权限

动态申请敏感权限基于用户可知可控的原则,需要应用在运行时主动调用系统动态申请权限的接口,系统弹框由用户授权,用户结合应用运行场景的上下文,识别出应用申请相应敏感权限的合理性,从而做出正确的选择。

即使用户向应用授予了请求的权限,应用在调用受此权限管控的接口前,也应该先检查自己有无此权限,而不能把之前授予的状态持久化,因为用户在动态授予后还可以通过设置取消应用的权限。

有关于应用动态申请敏感权限的详细信息,请参阅动态申请权限。

自定义权限

HarmonyOS 为了保证应用对外提供的接口不被恶意调用,需要对调用接口的调用者进行鉴权。

大多情况下,系统已定义的权限满足了应用的基本需要,若有特殊的访问控制需要,应用可在config.json中以"defPermissions": []属性来定义新的权限,并通过“availableScope”和“grantMode”两个属性分别确定权限的开放范围和授权方式,使得权限定义更加灵活且易于理解。有关 HarmonyOS 权限开放范围和授权方式详细的描述,请参阅权限授予方式字段说明和权限限制范围字段说明。

为了避免应用自定义新权限出现重名的情况,建议应用对新权限的命名以包名的前两个字段开头,这样可以防止不同开发者的应用间出现自定义权限重名的情况。

权限保护方法

保护 Ability:通过在config.json里对应的 Ability 中配置"permissions": ["权限名"]属性,即可实现保护整个 Ability 的目的,无指定权限的应用不能访问此 Ability。

保护 API:若 Ability 对外提供的数据或能力有多种,且开放范围或保护级别也不同,可以针对不同的数据或能力在接口代码实现中通过verifyPermission(String permissionName, int pid, int uid)来对 uid 标识的调用者进行鉴权。

权限使用原则

权限申请最小化。跟用户提供的功能无关的权限,不要申请;尽量采用其他无需权限的操作来实现相应功能(如:通过intent拉起系统 UI 界面由用户交互、应用自己生成uuid代替设备 ID 等)。

权限申请完整。应用所需权限(包括应用调用到的三方库依赖的权限)都要逐个在应用的config.json中按格式声明。

满足用户可知。应用申请的敏感权限的目的需要真实准确告知用户。

权限就近申请。应用在用户触发相关业务功能时,就近提示用户授予实现此功能所需的权限。

权限不扩散。在用户未授权的情况下,不允许提供给其他应用使用。

应用自定义权限防止重名。建议以包名为前缀来命名权限,防止跟系统定义的权限重名。

鸿蒙os系统使用技巧,鸿蒙OS 应用权限管理相关推荐

  1. 鸿蒙os系统使用技巧,鸿蒙OS系统详解

    华为的鸿蒙OS是一款"面向未来"的操作系统,是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全.目前主要用于智能物联网,今年将扩展到智能手机上鸿蒙OS拥有分布架构.内 ...

  2. OS属不属于计算机硬件系统,os系统是什么意思 os系统是属于哪个系统

    导语:说到手机系统,相信很多人脑里马上跳出两个概念,即一个是"苹果系统",一个是"安卓系统".目前这两个手机系统是市面上使用最广泛的.虽然大家每天都在用这两种系 ...

  3. 【 linux系统入门管理篇-第三章权限管理】

    [ linux系统入门管理篇-第三章权限管理] 本章介绍 一.基本权限UGO 二.基本权限 ACL 三.特殊权限 本章介绍 本章讲述了,Linux系统CentOS7中关于权限的相关概念.以及用户和组的 ...

  4. 华为鸿蒙os系统转正,华为鸿蒙OS系统正式官宣,转正工作提上日程,明年多款终端将使用...

    华为鸿蒙OS系统相信很多小伙伴都不陌生,作为国内现如今顶尖的科技企业.华为这些年的发展也是十分迅速的,而再快速的发展过程中.更多的用户对于华为的新款系统也充满了好奇,要知道一款属于国人自己的国产系统. ...

  5. 华为鸿蒙os系统转正,华为鸿蒙OS系统即将转正!谷歌也霸气官宣:将放弃安卓启用新系统...

    [4月23日讯]随着5G网络不断普及,全球各大科技巨头也纷纷开始布局"万物互联",无论是在芯片产品,还是在操作系统方面,微软.苹果.谷歌.华为等科技巨头,都在不断地完善.探索,加大 ...

  6. 鸿蒙手机系统对比,华为鸿蒙 OS 2.0 对比 EMUI 11 系统体验

    原标题:华为鸿蒙 OS 2.0 对比 EMUI 11 系统体验 来源:IT之家 近期,华为鸿蒙系统手机版已经开始进行开发者 Beta 公测,而根据最新消息,华为鸿蒙手机系统也越来越近了.近期,华为消费 ...

  7. 当贝os系统和华为鸿蒙系统,敢和华为鸿蒙OS叫板的操作系统如何?网友说,咦?咋这么好用呢!...

    原标题:敢和华为鸿蒙OS叫板的操作系统如何?网友说,咦?咋这么好用呢! 今年电视领域可以说火热的不要不要,你方唱罢,我登场.由于5G网络的来临,多家名企进军智能家居大屏领域,如手机巨头华为.一加等相继 ...

  8. 华为mate40是鸿蒙os系统吗,预装鸿蒙OS系统,华为Mate40Pro鸿蒙版即将发布,略有遗憾...

    最近一段时间,关于手机鸿蒙OS系列的消息一直没断过,一方面作为国产系列确实吸引国人的目光,另一方面余承东曾在华为Mate X2折叠屏发布会上,亲口表示华为Mate X2.华为Mate 40Peo将成为 ...

  9. 【linux系统编程】linux用户及权限管理

    Linux用户管理及权限控制 正文开始@Assassin 目录: Linux用户管理及权限控制 1. linux权限的概念: 2. 用户账号之间的切换: 2.1 普通用户之间的切换: 2.2 普通用户 ...

  10. 鸿蒙手机系统开发大会,鸿蒙OS+EMUI10,华为开发者大会的创新与看点

    [城宇手机]原创首发,百家号推荐 2019年8月9日,引人关注的华为开发者大会在中国东莞召开.备受瞩目的鸿蒙OS在大会上亮相引发剧烈反响,EMUI10也正是发布.那么,这次华为开发者大会有哪些看点?鸿 ...

最新文章

  1. java 无限级_JAVA+Hibernate 无限级分类
  2. Windows Server 2012 R2 安装 OpenCV-Python,导入opencv报错: ImportError: DLL load failed.
  3. 剑指 offer set 28 实现 Singleton 模式
  4. java自定义字段_自定义字段的设计与实现(Java实用版)
  5. consul 日志配置_Go语言微服务架构实战:第十一节 启动Consul
  6. 记一次win10下pycharm用tensorboard可视化不显示的问题解决
  7. java遍历子目录_Java遍历文件夹及子目录代码实例
  8. CSS中box-sizing: border-box;的作用
  9. asp.net 读取mysql数据库_asp.net访问MySQL数据库
  10. 网络调试助手NetAssist的使用
  11. 网站服务器检测工具,服务器网络监测工具
  12. 免费正确使用计算机ppt,计算机基础课件ppt
  13. Skills | word批量修改图片为统一大小
  14. 卡贴机变无锁教程_卡贴机怎么解锁变无锁
  15. 仿照Flexstroe3写的一个员工管理应用 (三)
  16. 如何检查您附近(或任何地方)的空气质量
  17. 安装intel wifi link 5100 AG无线网卡驱动程序,iwlwifi-5000-5.ucode中的readme文件
  18. js 购物车数量增减,总价格联动变化
  19. 数据通信系统的基本模型
  20. 2020年2月中国编程语言排行榜

热门文章

  1. Golang使用lxn/walk做GUI界面开发:邮件群发器
  2. Linux环境下获取硬盘序列号
  3. 格式化字符串漏洞例子(二)hijack GOT
  4. chrome视频无法播放的解决方法(Solve the problem of Google player cannot be played normally)
  5. 微信支付SDK使用总结
  6. 如何为服务网格选择入口网关_理解服务网格和API网关之间的差异
  7. 医用试管标签二维码方案研究
  8. 打击感在动作游戏中如何实现?【战斗篇】
  9. 多目标进化算法(二)——非支配排序/NSGA-II
  10. 给自己的心灵一把独到的标尺