mirror of
https://github.com/openharmony/miscservices_time.git
synced 2026-07-19 20:03:38 -04:00
@@ -27,12 +27,23 @@ bool TimePermission::CheckCallingPermission(const std::string &permissionName)
|
||||
}
|
||||
|
||||
auto callerToken = IPCSkeleton::GetCallingTokenID();
|
||||
int result = Security::AccessToken::AccessTokenKit::VerifyAccessToken(callerToken, permissionName);
|
||||
auto tokenType = Security::AccessToken::AccessTokenKit::GetTokenTypeFlag(callerToken);
|
||||
int result = Security::AccessToken::PERMISSION_DENIED;
|
||||
if (tokenType == Security::AccessToken::ATokenTypeEnum::TOKEN_NATIVE) {
|
||||
result = Security::AccessToken::AccessTokenKit::VerifyNativeToken(callerToken, permissionName);
|
||||
} else if (tokenType == Security::AccessToken::ATokenTypeEnum::TOKEN_HAP) {
|
||||
result = Security::AccessToken::AccessTokenKit::VerifyAccessToken(callerToken, permissionName);
|
||||
} else {
|
||||
TIME_HILOGE(TIME_MODULE_COMMON, "permission check failed, callerToken:%{public}u,tokenType:%{public}d",
|
||||
callerToken, tokenType);
|
||||
}
|
||||
|
||||
if (result != Security::AccessToken::PERMISSION_GRANTED) {
|
||||
TIME_HILOGE(TIME_MODULE_COMMON, "permission check failed, permission:%{public}s, callerToken:%{public}u",
|
||||
permissionName.c_str(), callerToken);
|
||||
return false;
|
||||
}
|
||||
return result == Security::AccessToken::PERMISSION_GRANTED;
|
||||
return true;
|
||||
}
|
||||
} // namespace MiscServices
|
||||
} // namespace OHOS
|
||||
Reference in New Issue
Block a user