diff --git a/services/distributeddataservice/app/src/session_manager/session_manager.cpp b/services/distributeddataservice/app/src/session_manager/session_manager.cpp index fbce83236ed67c5b89c0e2ed50b01b41d32fc761..033349a427251a5da493af6762bf9326ab7ce1a5 100644 --- a/services/distributeddataservice/app/src/session_manager/session_manager.cpp +++ b/services/distributeddataservice/app/src/session_manager/session_manager.cpp @@ -145,9 +145,8 @@ bool SessionManager::CheckSession(const SessionPoint &local, const SessionPoint } auto [isPermitted, isSameAccount] = AuthDelegate::GetInstance()->CheckAccess(local.userId, peer.userId, peer.deviceId, aclParams); - bool isForeground = false; - if (isPermitted) { - isForeground = Account::GetInstance()->IsUserForeground(local.userId); + if (isPermitted && local.userId != UserDelegate::SYSTEM_USER) { + isPermitted = Account::GetInstance()->IsUserForeground(local.userId); } return isPermitted && isForeground; }