在HarmonyOS中,如何实现数据跨设备同步时的访问控制?

阅读 664
1 个回答

在HarmonyOS中,数据跨设备同步时的访问控制是基于数据安全标签和设备安全等级进行的。规则为:在本设备的数据安全标签不高于对端设备的设备安全等级时,数据才能从本设备同步到对端设备,否则不能同步。

例如,如果在一个SL1设备(如手表)上创建了一个数据安全标签为S1的数据库,那么这个数据库的数据可以在SL1及以上的设备间同步。但是,如果创建的数据库标签为S2-S4,则不能在SL1设备上同步。

import { relationalStore } from '@kit.ArkData';
import { BusinessError } from '@kit.BasicServicesKit';

let store: relationalStore.RdbStore;
let context = getContext(this);

const STORE_CONFIG: relationalStore.StoreConfig = {
  name: 'RdbTest.db',
  securityLevel: relationalStore.SecurityLevel.S1 // 设置安全等级为S1
};

let promise = relationalStore.getRdbStore(context, STORE_CONFIG);

promise.then(async (rdbStore) => {
  store = rdbStore;
  console.info('Succeeded in getting RdbStore.');
  // 在此处进行数据库操作,如插入、查询等
}).catch((err: BusinessError) => {
  console.error(`Failed to get RdbStore. Code:${err.code}, message:${err.message}`);
});

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进