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 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" ] } ] } ] }