Mercurial > hg > orthanc-authorization
diff Plugin/BaseAuthorizationService.h @ 113:43154740ea2e
wip: checking labels
author | Alain Mazy <am@osimis.io> |
---|---|
date | Tue, 05 Sep 2023 12:48:20 +0200 |
parents | 7381a7674b36 |
children | 9be1ee2b8fe1 |
line wrap: on
line diff
--- a/Plugin/BaseAuthorizationService.h Thu Aug 31 16:51:15 2023 +0200 +++ b/Plugin/BaseAuthorizationService.h Tue Sep 05 12:48:20 2023 +0200 @@ -42,8 +42,7 @@ virtual bool HasUserPermissionInternal(unsigned int& validity, const std::string& permission, - const Token* token, - const std::string& tokenValue) = 0; + const UserProfile& profile) = 0; public: virtual ~BaseAuthorizationService() @@ -82,8 +81,7 @@ virtual bool HasUserPermission(unsigned int& validity /* out */, const std::set<std::string>& anyOfPermissions, - const Token& token, - const std::string& tokenValue) + const UserProfile& profile) { if (anyOfPermissions.size() == 0) { @@ -92,7 +90,7 @@ for (std::set<std::string>::const_iterator it = anyOfPermissions.begin(); it != anyOfPermissions.end(); ++it) { - if (HasUserPermissionInternal(validity, *it, &token, tokenValue)) + if (HasUserPermissionInternal(validity, *it, profile)) { return true; } @@ -108,9 +106,12 @@ return true; } + UserProfile anonymousUserProfile; + anonymousUserProfile.tokenType = TokenType_None; + for (std::set<std::string>::const_iterator it = anyOfPermissions.begin(); it != anyOfPermissions.end(); ++it) { - if (HasUserPermissionInternal(validity, *it, NULL, "")) + if (HasUserPermissionInternal(validity, *it, anonymousUserProfile)) { return true; }