From c769201ad5a611faf40d0e8f37a8f3efd45e87fa Mon Sep 17 00:00:00 2001 From: s00659936 <282229496@qq.com> Date: Tue, 2 Sep 2025 17:36:19 +0800 Subject: [PATCH] Check whether the account is deleted when the database is opened Signed-off-by: s00659936 <282229496@qq.com> Change-Id: I62d026d322a4986ea4fab21d1512ebea4ca8f2e9 --- .../service/data_share/common/db_delegate.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/services/distributeddataservice/service/data_share/common/db_delegate.cpp b/services/distributeddataservice/service/data_share/common/db_delegate.cpp index 9e77bcbb4..4b0460035 100644 --- a/services/distributeddataservice/service/data_share/common/db_delegate.cpp +++ b/services/distributeddataservice/service/data_share/common/db_delegate.cpp @@ -21,6 +21,7 @@ #include "log_print.h" #include "rdb_delegate.h" #include "log_debug.h" +#include "store/general_store.h" namespace OHOS::DataShare { using Account = DistributedData::AccountDelegate; @@ -32,9 +33,11 @@ std::shared_ptr DBDelegate::executor_ = nullptr; std::shared_ptr DBDelegate::Create(DistributedData::StoreMetaData &metaData, const std::string &extUri, const std::string &backup) { - if (Account::GetInstance()->IsDeactivating(atoi(metaData.user.c_str()))) { - ZLOGW("user %{public}s is deactivating, storeName: %{public}s", metaData.user.c_str(), - StringUtils::GeneralAnonymous(metaData.GetStoreAlias()).c_str()); + if (metaData.area > DistributedData::GeneralStore::Area::EL1 && + (Account::GetInstance()->IsDeactivating(atoi(metaData.user.c_str())) || + !Account::GetInstance()->IsVerified(atoi(metaData.user.c_str())))) { + ZLOGW("user %{public}s is deactivating or unverified, storeName: %{public}s, area: %{public}d", + metaData.user.c_str(), StringUtils::GeneralAnonymous(metaData.GetStoreAlias()).c_str(), metaData.area); return nullptr; } std::shared_ptr store; -- Gitee