diff --git a/services/distributeddataservice/app/src/session_manager/session_manager.cpp b/services/distributeddataservice/app/src/session_manager/session_manager.cpp index fbce83236ed67c5b89c0e2ed50b01b41d32fc761..e13e43579f07d20b031ee1df5dd331fb0346b4b3 100644 --- a/services/distributeddataservice/app/src/session_manager/session_manager.cpp +++ b/services/distributeddataservice/app/src/session_manager/session_manager.cpp @@ -145,11 +145,10 @@ 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; + return isPermitted; } bool Session::Marshal(json &node) const