IssueNo: #I51VJD:modify permission flag

Description:modify permission flag
Sig:SIG_ApplicaitonFramework
Feature or Bugfix:BugFix
Binary Source:No
Signed-off-by: wangtiantian <wangtiantian19@huawei.com>
This commit is contained in:
wangtiantian
2022-04-11 09:04:20 +08:00
2 changed files with 4 additions and 3 deletions
@@ -317,7 +317,7 @@ std::vector<AccessToken::PermissionStateFull> BundlePermissionMgr::GetPermission
perState.isGeneral = true;
perState.resDeviceID.emplace_back(innerBundleInfo.GetBaseApplicationInfo().deviceId);
perState.grantStatus.emplace_back(AccessToken::PermissionState::PERMISSION_DENIED);
perState.grantFlags.emplace_back(AccessToken::PermissionFlag::PERMISSION_USER_SET);
perState.grantFlags.emplace_back(AccessToken::PermissionFlag::PERMISSION_DEFAULT_FLAG);
permStateFullList.emplace_back(perState);
}
} else {
@@ -351,7 +351,8 @@ bool BundlePermissionMgr::InnerGrantRequestPermissions(const std::vector<Request
APP_LOGD("InnerGrantRequestPermissions add system grant permission %{public}zu", grantPermList.size());
for (const auto &perm : grantPermList) {
auto ret = AccessToken::AccessTokenKit::GrantPermission(tokenId, perm, 0);
auto ret = AccessToken::AccessTokenKit::GrantPermission(tokenId, perm,
AccessToken::PermissionFlag::PERMISSION_SYSTEM_FIXED);
if (ret != AccessToken::AccessTokenKitRet::RET_SUCCESS) {
APP_LOGE("GrantReqPermission failed, request permission name:%{public}s", perm.c_str());
return false;
@@ -22,7 +22,6 @@ namespace AccessToken {
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 {
@@ -68,6 +67,7 @@ typedef enum TypeGrantMode {
} GrantMode;
typedef enum TypePermissionFlag {
PERMISSION_DEFAULT_FLAG = 0,
PERMISSION_USER_SET = 1 << 0,
PERMISSION_USER_FIXED = 1 << 1,
PERMISSION_SYSTEM_FIXED = 1 << 2,