0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開發(fā)組件:DataAbility權限控制

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-21 10:30 ? 次閱讀

DataAbility權限控制

DataAbility提供數(shù)據(jù)服務,并不是所有的Ability都有權限讀寫它,DataAbility有一套權限控制機制來保證數(shù)據(jù)安全。分為靜態(tài)權限控制和動態(tài)權限控制兩部分。

靜態(tài)權限控制

DataAbility作為服務端,在被拉起的時候,會根據(jù)config.json里面配置的權限來進行校驗,有"readPermission"、"writePermission"和"Permission"三個配置項,可以不配或者為空。示例如下:

"abilities": [
  ...
  {
    "name": ".DataAbility",
    "srcLanguage": "ets",
    "srcPath": "DataAbility",
    "icon": "$media:icon",
    "description": "$string:DataAbility_desc",
    "type": "data",
    "visible": true,
    "uri": "dataability://com.samples.famodelabilitydevelop.DataAbility",
    "readPermission": "ohos.permission.READ_CONTACTS",
    "writePermission": "ohos.permission.WRITE_CONTACTS"
  },
  ...
]

客戶端在拉起DataAbility的時候,需要校驗客戶端是否有權限拉起該DataAbility??蛻舳说臋嘞夼渲迷赾onfig.json配置文件的"module"對象的"reqPermissions"對象中,示例如下:

{
  ...
  "module": {
    ...
    "reqPermissions": [
      {
        "name": "ohos.permission.READ_CONTACTS"
      },
      {
        "name": "ohos.permission.WRITE_CONTACTS"
      },
      ...
    ],
    ...
  }
}

動態(tài)權限控制

靜態(tài)權限校驗只能控制某個DataAbility是否能被另一個Ability或應用拉起,無法精確校驗每個讀寫接口的權限,因為拉起DataAbility的時候,還不知道應用是否需要讀寫它的數(shù)據(jù)。

動態(tài)權限控制是校驗每個數(shù)據(jù)操作的接口是否有對應的權限??蛻舳苏{(diào)用數(shù)據(jù)操作接口所需的權限如下表所示。
搜狗高速瀏覽器截圖20240326151450.png

表1 接口對應的讀寫權限配置

需要配置讀權限的接口開發(fā)前請熟悉鴻蒙開發(fā)指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]需要配置寫權限的接口據(jù)實際操作配置讀寫權限的接口
query、normalizeUri、denormalizeUri、openfile(傳入mode有'r')insert、batchInsert、delete、update、openfile(傳入mode有'w')executeBatch

對于需要配置讀權限的接口,服務端需要配置readPermission,客戶端必須申請相應的讀權限才能調(diào)用相關的接口。

對于需要配置寫權限的接口,服務端需要配置writePermission,客戶端必須申請相應的寫權限才能調(diào)用相關的接口。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8257

    瀏覽量

    149956
  • 開發(fā)組件

    關注

    0

    文章

    4

    瀏覽量

    1145
  • 鴻蒙
    +關注

    關注

    56

    文章

    2267

    瀏覽量

    42489
收藏 人收藏

    評論

    相關推薦

    鴻蒙開發(fā)基礎-Web組件之cookie操作

    }) ... } ... 本文章主要是對鴻蒙開發(fā)當中ArkTS語言的基礎應用實戰(zhàn),Web組件里的cookie操作。更多的鴻蒙應用開發(fā)
    發(fā)表于 01-14 21:31

    鴻蒙開發(fā)OpenHarmony組件復用案例

    ) } }, item => item) } } } 本文主要是對鴻蒙開發(fā)基礎當中的OpenHarmony技術組件復用示例, 更多鴻蒙開發(fā)
    發(fā)表于 01-15 17:37

    鴻蒙實戰(zhàn)項目開發(fā):【短信服務】

    兩位前阿里高級研發(fā)工程師聯(lián)合打造的 《鴻蒙NEXT星河版OpenHarmony開發(fā)文檔》 里面內(nèi)容包含了(ArkTS、ArkUI開發(fā)組件、Stage模型、多端部署、分布式應用
    發(fā)表于 03-03 21:29

    鴻蒙原生應用元服務-訪問控制權限開發(fā)等級和類型

    權限申請。 權限申請 開發(fā)者需要在配置文件中聲明目標權限權限授權 如果目標權限是syste
    發(fā)表于 04-17 15:29

    基于Acegi技術的通用權限管理組件的研究

    。本文首先詳細介紹了基于角色的訪問控制模型(RBAC),再分析了RBAC的優(yōu)缺點以后,提出了一個RBAC的擴展方案,以便能夠?qū)⒃撃P秃啽愕膽玫?b class='flag-5'>權限管理之中,其次擴展和封裝了Acegi安全框架,研究并開發(fā)
    發(fā)表于 04-24 09:21

    HarmonyOS應用開發(fā)-訪問DataAbility問題記錄

    鴻蒙官方文檔中,介紹了訪問DataAbility的方法,如下: // 讀取文件描述符FileDescriptor fd = helper.openFile(uri, "r"
    發(fā)表于 12-28 10:27

    鴻蒙開源第三方組件資料合集

    1、鴻蒙開源第三方組件——日志工具組件Timber_ohosTimber_ohos是一個帶有小型可擴展API的日志工具組件,它可以給開發(fā)者提
    發(fā)表于 03-23 09:53

    鴻蒙APP開發(fā)鴻蒙權限請求框架

    /posts/5165 權限控制是在進行 HarmonyOS 應用開發(fā)中非常重要的一個環(huán)節(jié),幾乎所有的商業(yè)應用中都會涉及到。 我們在曾經(jīng)使用的 Android app 應用中經(jīng)常會遇到一些 app 會彈
    的頭像 發(fā)表于 09-28 09:19 ?2715次閱讀

    鴻蒙ArkUI開發(fā)-Tabs組件的使用

    鴻蒙ArkUI開發(fā)-Tabs組件的使用
    的頭像 發(fā)表于 01-19 16:01 ?1413次閱讀
    <b class='flag-5'>鴻蒙</b>ArkUI<b class='flag-5'>開發(fā)</b>-Tabs<b class='flag-5'>組件</b>的使用

    鴻蒙開發(fā)接口數(shù)據(jù)管理:【@ohos.data.dataAbility (DataAbility謂詞)】

    DataAbility 謂詞用于構造關系型數(shù)據(jù)庫的謂詞,提供用于實現(xiàn)不同查詢方法的謂詞。
    的頭像 發(fā)表于 06-06 17:20 ?733次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>接口數(shù)據(jù)管理:【@ohos.data.<b class='flag-5'>dataAbility</b> (<b class='flag-5'>DataAbility</b>謂詞)】

    鴻蒙開發(fā)組件DataAbility的生命周期

    應用開發(fā)者可以根據(jù)業(yè)務場景實現(xiàn)data.js/data.ets中的生命周期相關接口。DataAbility生命周期接口說明見下表。
    的頭像 發(fā)表于 06-20 09:39 ?284次閱讀

    鴻蒙開發(fā)組件:創(chuàng)建DataAbility

    實現(xiàn)DataAbility中Insert、Query、Update、Delete接口的業(yè)務內(nèi)容。保證能夠滿足數(shù)據(jù)庫存儲業(yè)務的基本需求。BatchInsert與ExecuteBatch接口已經(jīng)在系統(tǒng)中實現(xiàn)遍歷邏輯,依賴Insert、Query、Update、Delete接口邏輯,來實現(xiàn)數(shù)據(jù)的批量處理。
    的頭像 發(fā)表于 06-19 21:41 ?189次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>組件</b>:創(chuàng)建<b class='flag-5'>DataAbility</b>

    鴻蒙開發(fā)組件:啟動與訪問DataAbility

    啟動DataAbility會獲取一個工具接口類對象(DataAbilityHelper)。
    的頭像 發(fā)表于 06-20 15:03 ?206次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>組件</b>:啟動與訪問<b class='flag-5'>DataAbility</b>

    鴻蒙開發(fā)Ability Kit程序框架服務:FA模型與Stage模型應用組件互通綜述

    FA模型與Stage模型是兩套不同的應用模型,他們擁有各自的組件。FA模型提供三種應用組件,分別是PageAbility、ServiceAbility和DataAbility。Stage模型提供了兩種應用
    的頭像 發(fā)表于 06-24 16:43 ?335次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務:FA模型與Stage模型應用<b class='flag-5'>組件</b>互通綜述

    鴻蒙開發(fā)Ability Kit程序框架服務:DataAbility切換 組件切換

    FA模型中的DataAbility對應Stage模型中的DataShareExtensionAbility。
    的頭像 發(fā)表于 06-28 14:08 ?141次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>Ability Kit程序框架服務:<b class='flag-5'>DataAbility</b>切換 <b class='flag-5'>組件</b>切換