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;
         }