From c391bb7026d029aec8b1e90fe2b28e08a9e82b49 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 6 Sep 2025 17:33:43 +0800 Subject: [PATCH] add log Signed-off-by: unknown --- .../abilitymgr/src/ability_manager_service.cpp | 6 +++++- .../abilitymgr/src/implicit_start_processor.cpp | 14 +++++++++++--- .../src/utils/ability_permission_util.cpp | 1 - 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/services/abilitymgr/src/ability_manager_service.cpp b/services/abilitymgr/src/ability_manager_service.cpp index fdbc77ca400..bac97333d90 100644 --- a/services/abilitymgr/src/ability_manager_service.cpp +++ b/services/abilitymgr/src/ability_manager_service.cpp @@ -11211,7 +11211,11 @@ int AbilityManagerService::CheckCallAbilityPermission(const AbilityRequest &abil int result = AAFwk::PermissionVerification::GetInstance()->CheckCallAbilityPermission( verificationInfo, isCallByShortcut); if (result != ERR_OK) { - TAG_LOGE(AAFwkTag::ABILITYMGR, "without start pageAbility(FA) or ability(Stage) permission"); + auto sessionInfo = callerAbilityRecord ? callerAbilityRecord->GetSessionInfo() : nullptr; + int32_t persistentId = (sessionInfo == nullptr) ? -1 : sessionInfo->persistentId; + TAG_LOGE(AAFwkTag::ABILITYMGR, + "without start pageAbility(FA) or ability(Stage) permission, caller:%{public}s %{public}d", + callerAbilityRecord ? callerAbilityRecord->GetAbilityInfo().name.c_str() : "null record", persistentId); } return result; } diff --git a/services/abilitymgr/src/implicit_start_processor.cpp b/services/abilitymgr/src/implicit_start_processor.cpp index 64e0cd7c02e..ad43e1d57d8 100644 --- a/services/abilitymgr/src/implicit_start_processor.cpp +++ b/services/abilitymgr/src/implicit_start_processor.cpp @@ -110,11 +110,19 @@ int ImplicitStartProcessor::CheckImplicitCallPermission(const AbilityRequest& ab return ERR_OK; } auto ret = AAFwk::PermissionVerification::GetInstance()->VerifyBackgroundCallPermission(isBackgroundCall); - if (!ret) { - TAG_LOGE(AAFwkTag::ABILITYMGR, "CheckImplicitCallPermission failed"); + if (ret) { + return ERR_OK; + } + std::shared_ptr callerAbility = Token::GetAbilityRecordByToken(abilityRequest.callerToken); + if (callerAbility == nullptr) { + TAG_LOGE(AAFwkTag::ABILITYMGR, "permission failed"); return CHECK_PERMISSION_FAILED; } - return ERR_OK; + auto sessionInfo = callerAbility->GetSessionInfo(); + int32_t persistentId = (sessionInfo == nullptr) ? -1 : sessionInfo->persistentId; + TAG_LOGE(AAFwkTag::ABILITYMGR, "permission failed %{public}s,%{public}d", + callerAbility->GetAbilityInfo().name.c_str(), persistentId); + return CHECK_PERMISSION_FAILED; } int ImplicitStartProcessor::ImplicitStartAbility(AbilityRequest &request, int32_t userId, int32_t windowMode, diff --git a/services/abilitymgr/src/utils/ability_permission_util.cpp b/services/abilitymgr/src/utils/ability_permission_util.cpp index f7e6d447d9f..dc56b6fb81f 100644 --- a/services/abilitymgr/src/utils/ability_permission_util.cpp +++ b/services/abilitymgr/src/utils/ability_permission_util.cpp @@ -362,7 +362,6 @@ bool AbilityPermissionUtil::IsStartSelfUIAbility() auto callerPid = IPCSkeleton::GetCallingPid(); auto tokenId = GetTokenIdByPid(callerPid); if (tokenId < 0) { - TAG_LOGE(AAFwkTag::ABILITYMGR, "invalid tokenId"); return false; } return PermissionVerification::GetInstance()->VerifyStartSelfUIAbility(tokenId); -- Gitee