From cb0bd87f83263baf1364fa6da4b6f0714fadc066 Mon Sep 17 00:00:00 2001 From: l00520400 Date: Wed, 26 Jan 2022 11:57:37 +0800 Subject: [PATCH] update firstcaller Signed-off-by: l00520400 Change-Id: I5e25ebe92d71fd932766a06b7c6cc560af9562f3 Signed-off-by: l00520400 --- interfaces/innerkits/accesstoken/include/access_token.h | 1 + interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/interfaces/innerkits/accesstoken/include/access_token.h b/interfaces/innerkits/accesstoken/include/access_token.h index bd69ff1d3..d4b050ed7 100644 --- a/interfaces/innerkits/accesstoken/include/access_token.h +++ b/interfaces/innerkits/accesstoken/include/access_token.h @@ -23,6 +23,7 @@ typedef unsigned int AccessTokenID; typedef unsigned int AccessTokenAttr; static const int DEFAULT_TOKEN_VERSION = 1; static const int DEFAULT_PERMISSION_FLAGS = 0; +static const int FIRSTCALLER_TOKENID_DEFAULT = 0; enum AccessTokenKitRet { RET_FAILED = -1, diff --git a/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp b/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp index 336687a94..2fa8408f3 100644 --- a/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp +++ b/interfaces/innerkits/accesstoken/src/accesstoken_kit.cpp @@ -147,7 +147,14 @@ int AccessTokenKit::VerifyAccessToken(AccessTokenID tokenID, const std::string& int AccessTokenKit::VerifyAccessToken( AccessTokenID callerTokenID, AccessTokenID firstTokenID, const std::string& permissionName) { - return PERMISSION_DENIED; + int ret = AccessTokenKit::VerifyAccessToken(callerTokenID, permissionName); + if (ret != PERMISSION_GRANTED) { + return ret; + } + if (firstTokenID == FIRSTCALLER_TOKENID_DEFAULT) { + return ret; + } + return AccessTokenKit::VerifyAccessToken(firstTokenID, permissionName); } int AccessTokenKit::GetDefPermission(const std::string& permissionName, PermissionDef& permissionDefResult) -- Gitee