diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json index eb73d812e357cb7d68503443b85634495be644ad..ae7cebf540d1d8f752927530f9c9ad29a4fed225 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json @@ -25,7 +25,6 @@ { "visible": true, "name": "com.ohos.permissionmanager.GrantAbility", - "icon": "$media:icon", "description": "$string:grantability_description", "label": "$string:permissionmanager_GrantAbility", "type": "page", @@ -64,4 +63,4 @@ } ] } -} \ No newline at end of file +} diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/components/dialog.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/components/dialog.ets index 8834e2d310084596eb34c8b5d08bb1c8133ab234..677a4a5d6ef9941b16dafe2574e51f3f64ce964a 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/components/dialog.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/dynamic/common/components/dialog.ets @@ -130,8 +130,7 @@ export struct privacyDialog { featureAbility.getWant((err, want) => { this.reqPerms = want.parameters['ohos.user.grant.permission'] this.accessTokenId = want.parameters['ohos.aafwk.param.callToken'] - console.log("GrantAbility request permission=" + JSON.stringify(this.reqPerms) + " tokenId = " - + this.accessTokenId + "want.parameters = " + JSON.stringify(want.parameters)) + console.log("GrantAbility request permission=" + JSON.stringify(this.reqPerms) + " tokenId = " + this.accessTokenId) this.reqPerms.forEach(item => { var group = getPermissionGroup(item) if(!group) { diff --git a/interfaces/innerkits/accesstoken/include/access_token.h b/interfaces/innerkits/accesstoken/include/access_token.h index bd69ff1d347a3e37c5a86430e9d8f934f33cc8cb..d4b050ed75dd721ceedb18ca6e5e484cc41aacfc 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 336687a947aec2e08b13c13abe41ed5993177d38..2fa8408f3e17d6e8941be1c22db02affd4e76735 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) diff --git a/interfaces/innerkits/nativetoken/test/unittest/src/nativetoken_kit_test.cpp b/interfaces/innerkits/nativetoken/test/unittest/src/nativetoken_kit_test.cpp index 3320426c3b7addd2953503f271806c1d7e56c1d8..74b986ccf4f3a00b781086cc0f6603b2d91bbc14 100644 --- a/interfaces/innerkits/nativetoken/test/unittest/src/nativetoken_kit_test.cpp +++ b/interfaces/innerkits/nativetoken/test/unittest/src/nativetoken_kit_test.cpp @@ -34,7 +34,6 @@ void TokenLibKitTest::TearDownTestCase() void TokenLibKitTest::SetUp() { g_isNativeTokenInited = 0; - (void)remove(TOKEN_ID_CFG_FILE_PATH); } void TokenLibKitTest::TearDown() @@ -221,15 +220,11 @@ HWTEST_F(TokenLibKitTest, GetAccessTokenId005, TestSize.Level1) HWTEST_F(TokenLibKitTest, GetAccessTokenId006, TestSize.Level1) { uint64_t tokenID; - NativeAtIdEx *tokenIdEx = (NativeAtIdEx *)(&tokenID); tokenID = Start("GetAccessTokenId006"); - - int ret = strcmp("GetAccessTokenId006", g_tokenListHead->next->processName); - ASSERT_EQ(ret, 0); - ASSERT_EQ(tokenIdEx->tokenId, g_tokenListHead->next->tokenId); + ASSERT_NE(tokenID, 0); char *fileBuff = nullptr; - ret = GetFileBuff(TOKEN_ID_CFG_FILE_PATH, &fileBuff); + int ret = GetFileBuff(TOKEN_ID_CFG_FILE_PATH, &fileBuff); ASSERT_EQ(ret, ATRET_SUCCESS); string s = "GetAccessTokenId006"; char *pos = strstr(fileBuff, s.c_str()); @@ -271,33 +266,6 @@ HWTEST_F(TokenLibKitTest, GetAccessTokenId007, TestSize.Level1) */ HWTEST_F(TokenLibKitTest, GetAccessTokenId008, TestSize.Level1) { - char *fileBuff = nullptr; - int ret = GetFileBuff(TOKEN_ID_CFG_FILE_PATH, &fileBuff); - ASSERT_EQ(ret, 0); - if (fileBuff != nullptr) { - char *pos = strstr(fileBuff, "process1"); - ASSERT_EQ(pos, nullptr); - pos = strstr(fileBuff, "process2"); - ASSERT_EQ(pos, nullptr); - pos = strstr(fileBuff, "process3"); - ASSERT_EQ(pos, nullptr); - pos = strstr(fileBuff, "process4"); - ASSERT_EQ(pos, nullptr); - pos = strstr(fileBuff, "process5"); - ASSERT_EQ(pos, nullptr); - pos = strstr(fileBuff, "process6"); - ASSERT_EQ(pos, nullptr); - pos = strstr(fileBuff, "process7"); - ASSERT_EQ(pos, nullptr); - pos = strstr(fileBuff, "process8"); - ASSERT_EQ(pos, nullptr); - pos = strstr(fileBuff, "process9"); - ASSERT_EQ(pos, nullptr); - pos = strstr(fileBuff, "foundation"); - ASSERT_EQ(pos, nullptr); - free(fileBuff); - } - Start("process1"); Start("process2"); Start("process3"); @@ -315,9 +283,9 @@ HWTEST_F(TokenLibKitTest, GetAccessTokenId008, TestSize.Level1) Start("process18"); Start("process19"); - ret = GetFileBuff(TOKEN_ID_CFG_FILE_PATH, &fileBuff); + char *fileBuff = nullptr; + int ret = GetFileBuff(TOKEN_ID_CFG_FILE_PATH, &fileBuff); ASSERT_EQ(ret, 0); - GTEST_LOG_(INFO) << "fileBuff" << fileBuff; char *pos = strstr(fileBuff, "process1"); ASSERT_NE(pos, nullptr); pos = strstr(fileBuff, "process2"); @@ -336,7 +304,5 @@ HWTEST_F(TokenLibKitTest, GetAccessTokenId008, TestSize.Level1) ASSERT_NE(pos, nullptr); pos = strstr(fileBuff, "process9"); ASSERT_NE(pos, nullptr); - pos = strstr(fileBuff, "foundation"); - ASSERT_NE(pos, nullptr); free(fileBuff); }