Liste ACL par dossier

Présentation

Cette opération renvoie les autorisations pour tous les utilisateurs et rôles sur toutes les ressources nommées des dossiers spécifiés et de leurs sous-dossiers. Les autorisations sur les sous-dossiers sont également renvoyées dans la réponse.

Pour chaque ressource, la réponse contient les utilisateurs et les rôles qui disposent de n'importe quelle autorisation sur la ressource et, pour chaque utilisateur ou rôle, elle contient les autorisations spécifiques appliquées.

  • Pour les tables nommées, les autorisations peuvent être EXECUTE, CREATE, MODIFY ou DELETE.
  • Pour les dossiers du référentiel, les autorisations peuvent être READ ou WRITE.
  • Pour les autres ressources nommées, les autorisations peuvent être EXECUTE.

Flux d'autorisation ACL

L'utilisateur effectuant cette requête ne pourra que répertorier les autorisations sur les ressources dans les dossiers (ou sous-dossiers) du référentiel sur lesquels il dispose d'autorisations WRITE.

Format d'URL GET HTTP

Le format suivant est utilisé pour les requêtes HTTP GET demandant de répertorier les ACL par dossier :

HTTP GET http://<server>:<port>/rest/Spatial/AccessControlService/acl/folders/repositoryFolderPath

Paramètres

Paramètre Type Obligatoire Description
repositoryFolderPath Chaîne Oui Spécifie le chemin d'accès au dossier du référentiel pour lequel les ACL doivent être renvoyées.

Format d'URL POST HTTP

Le format suivant est utilisé pour les requêtes HTTP POST demandant de répertorier les ACL par dossier :

HTTP POST http://<server>:<port>/rest/Spatial/AccessControlService/acl/folders/

Format d'URL POST HTTP

Les requêtes POST HTTP se présentent au format suivant :

HTTP POST URL:	/acl/folders
POST DATA: {
   "resources":[
      "/Samples/NamedTiles/",
      "/Samples/NamedMaps/"
   ],
   "resourceType":"RepositoryFolder"
}                
POST HEADER: Content-Type:application/json
Le paramètre facultatif resourceType spécifie le type de ressource nommée pour filtrer la réponse. Il peut s'agir d'une ou de plusieurs ressources NamedTable, NamedFeatureLayer, NamedLabelLayer, NamedGroupLayer, NamedPieLayer, NamedBarLayer, NamedGraduatedSymbolLayer, NamedLineChartLayer, NamedLineLinkageLayer, NamedFeatureLabelSource, NamedMapAndView, NamedTile, NamedWMTSLayer ou RepositoryFolder.
Remarque :
  • Le dossier du référentiel doit comporter une barre oblique finale dans la requête POST, sinon une erreur est renvoyée.

Résultat

Renvoie les autorisations pour tous les utilisateurs et pour toutes les ressources nommées dans les dossiers spécifiés et leurs sous-dossiers.

Exemple pour GET

URL de requête

http://<server>:<port>/rest/Spatial/AccessControlService/acl/folders/Samples

Réponse

{
   "resourceAclList":[
      {
         "name":"/Samples/NamedTiles/",
         "resourceType":"RepositoryFolder",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ]
      },
      {
         "name":"/Samples/",
         "resourceType":"RepositoryFolder",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ]
      },
      {
         "name":"/Samples/NamedTiles/WorldTile",
         "resourceType":"NamedTile",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "EXECUTE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "EXECUTE"
               ]
            }
         ]
      }
   ]
}

Exemple pour POST

URL de requête

http://<server>:<port>/rest/Spatial/AccessControlService/acl/folders

Corps de la requête

{
   "resources":[
      "/Samples",
      "/InvalidFolder"
   ]
}

Réponse

{
   "resourceAclList":[
      {
         "name":"/InvalidFolder/",
         "resourceType":"RepositoryFolder",
         "error":"RepositoryEx_PathNotFound: Path was not found - /InvalidFolder/"
      },
      {
         "name":"/Samples/NamedTiles/",
         "resourceType":"RepositoryFolder",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ]
      },
      {
         "name":"/Samples/",
         "resourceType":"RepositoryFolder",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "READ",
                  "WRITE"
               ]
            }
         ]
      },
      {
         "name":"/Samples/NamedTiles/WorldTile",
         "resourceType":"NamedTile",
         "users":[
            {
               "name":"user1",
               "permissions":[
                  "EXECUTE"
               ]
            }
         ],
         "roles":[
            {
               "name":"role1",
               "permissions":[
                  "EXECUTE"
               ]
            }
         ]
      }
   ]
}