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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-21 10:30 ? 次閱讀

DataAbility權(quán)限控制

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

靜態(tài)權(quán)限控制

DataAbility作為服務(wù)端,在被拉起的時(shí)候,會(huì)根據(jù)config.json里面配置的權(quán)限來(lái)進(jìn)行校驗(yàn),有"readPermission"、"writePermission"和"Permission"三個(gè)配置項(xiàng),可以不配或者為空。示例如下:

"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的時(shí)候,需要校驗(yàn)客戶端是否有權(quán)限拉起該DataAbility??蛻舳说臋?quán)限配置在config.json配置文件的"module"對(duì)象的"reqPermissions"對(duì)象中,示例如下:

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

動(dòng)態(tài)權(quán)限控制

靜態(tài)權(quán)限校驗(yàn)只能控制某個(gè)DataAbility是否能被另一個(gè)Ability或應(yīng)用拉起,無(wú)法精確校驗(yàn)每個(gè)讀寫接口的權(quán)限,因?yàn)槔餌ataAbility的時(shí)候,還不知道應(yīng)用是否需要讀寫它的數(shù)據(jù)。

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

表1 接口對(duì)應(yīng)的讀寫權(quán)限配置

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

對(duì)于需要配置讀權(quán)限的接口,服務(wù)端需要配置readPermission,客戶端必須申請(qǐng)相應(yīng)的讀權(quán)限才能調(diào)用相關(guān)的接口。

對(duì)于需要配置寫權(quán)限的接口,服務(wù)端需要配置writePermission,客戶端必須申請(qǐng)相應(yīng)的寫權(quán)限才能調(diào)用相關(guān)的接口。

審核編輯 黃宇

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

    關(guān)注

    33

    文章

    8611

    瀏覽量

    151247
  • 開發(fā)組件
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    1153
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2358

    瀏覽量

    42876
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)】

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

    鴻蒙原生應(yīng)用元服務(wù)-訪問控制權(quán)限開發(fā)等級(jí)和類型

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

    基于Acegi技術(shù)的通用權(quán)限管理組件的研究

    。本文首先詳細(xì)介紹了基于角色的訪問控制模型(RBAC),再分析了RBAC的優(yōu)缺點(diǎn)以后,提出了一個(gè)RBAC的擴(kuò)展方案,以便能夠?qū)⒃撃P秃?jiǎn)便的應(yīng)用到權(quán)限管理之中,其次擴(kuò)展和封裝了Acegi安全框架,研究并開發(fā)
    發(fā)表于 04-24 09:21

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

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

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

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

    鴻蒙APP開發(fā)鴻蒙權(quán)限請(qǐng)求框架

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

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

    鴻蒙ArkUI開發(fā)-Tabs組件的使用
    的頭像 發(fā)表于 01-19 16:01 ?1927次閱讀
    <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 謂詞用于構(gòu)造關(guān)系型數(shù)據(jù)庫(kù)的謂詞,提供用于實(shí)現(xiàn)不同查詢方法的謂詞。
    的頭像 發(fā)表于 06-06 17:20 ?849次閱讀
    <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的生命周期

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

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

    實(shí)現(xiàn)DataAbility中Insert、Query、Update、Delete接口的業(yè)務(wù)內(nèi)容。保證能夠滿足數(shù)據(jù)庫(kù)存儲(chǔ)業(yè)務(wù)的基本需求。BatchInsert與ExecuteBatch接口已經(jīng)在系統(tǒng)中實(shí)現(xiàn)遍歷邏輯,依賴Insert、Query、Update、Delete接口邏輯,來(lái)實(shí)現(xiàn)數(shù)據(jù)的批量處理。
    的頭像 發(fā)表于 06-19 21:41 ?290次閱讀
    <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ā)組件:?jiǎn)?dòng)與訪問DataAbility

    啟動(dòng)DataAbility會(huì)獲取一個(gè)工具接口類對(duì)象(DataAbilityHelper)。
    的頭像 發(fā)表于 06-20 15:03 ?339次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>組件</b>:?jiǎn)?dòng)與訪問<b class='flag-5'>DataAbility</b>

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

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

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

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