DataAbility權(quán)限控制
DataAbility提供數(shù)據(jù)服務(wù),并不是所有的Ability都有權(quán)限讀寫它,DataAbility有一套權(quán)限控制機(jī)制來保證數(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)限來進(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"對象的"reqPermissions"對象中,示例如下:
{
...
"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)用拉起,無法精確校驗(yàn)每個(gè)讀寫接口的權(quán)限,因?yàn)槔餌ataAbility的時(shí)候,還不知道應(yīng)用是否需要讀寫它的數(shù)據(jù)。
動(dòng)態(tài)權(quán)限控制是校驗(yàn)每個(gè)數(shù)據(jù)操作的接口是否有對應(yīng)的權(quán)限。客戶端調(diào)用數(shù)據(jù)操作接口所需的權(quán)限如下表所示。
表1 接口對應(yīng)的讀寫權(quán)限配置
需要配置讀權(quán)限的接口開發(fā)前請熟悉鴻蒙開發(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 |
對于需要配置讀權(quán)限的接口,服務(wù)端需要配置readPermission,客戶端必須申請相應(yīng)的讀權(quán)限才能調(diào)用相關(guān)的接口。
對于需要配置寫權(quán)限的接口,服務(wù)端需要配置writePermission,客戶端必須申請相應(yīng)的寫權(quán)限才能調(diào)用相關(guān)的接口。
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8918瀏覽量
153120 -
開發(fā)組件
+關(guān)注
關(guān)注
0文章
4瀏覽量
1183 -
鴻蒙
+關(guān)注
關(guān)注
59文章
2491瀏覽量
43715
發(fā)布評論請先 登錄
鴻蒙開發(fā)基礎(chǔ)-Web組件之cookie操作
鴻蒙開發(fā)OpenHarmony組件復(fù)用案例
鴻蒙實(shí)戰(zhàn)項(xiàng)目開發(fā):【短信服務(wù)】
鴻蒙原生應(yīng)用元服務(wù)-訪問控制(權(quán)限)開發(fā)等級和類型
基于Acegi技術(shù)的通用權(quán)限管理組件的研究
HarmonyOS應(yīng)用開發(fā)-訪問DataAbility問題記錄
鴻蒙開源第三方組件資料合集
鴻蒙APP開發(fā)鴻蒙權(quán)限請求框架
鴻蒙開發(fā)接口數(shù)據(jù)管理:【@ohos.data.dataAbility (DataAbility謂詞)】

鴻蒙開發(fā)組件:DataAbility的生命周期
鴻蒙開發(fā)組件:創(chuàng)建DataAbility

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

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

評論