Autorisations sur les jeux de données de listes

Présentation

Cette opération renvoie les autorisations sur une table nommée pour l'utilisateur (ou ses rôles). Il prend le chemin d'accès complet à une ou plusieurs tables nommées pour lesquelles l'utilisateur souhaite répertorier les autorisations. Les autorisations peuvent être EXECUTE, CREATE, MODIFY ou DELETE.

Les autorisations renvoyées incluent celles accordées directement à l'utilisateur ou à l'un de ses rôles. Les autorisations EXECUTE peuvent également être héritées des autorisations dont un utilisateur ou ses rôles disposent sur les dossiers parents.

Les règles métier suivantes peuvent vous aider à comprendre une réponse donnée :

  • Si les autorisations sont vides pour la ressource, il peut y avoir une ou plusieurs raisons, notamment :
    • L'utilisateur ne dispose pas d'autorisation EXECUTE sur une table nommée.
    • Un type de ressource différent est spécifié.
    • Une ressource inexistante est spécifiée.
  • Si la liste de tables est omise, toutes les tables nommées sur lesquelles le jeton d'utilisateur spécifié dispose d'une autorisation EXECUTE, CREATE, MODIFY ou DELETE sont renvoyées.
  • Si l'utilisateur ne dispose d'aucune autorisation sur aucune table, une réponse vide est renvoyée.

Flux d'autorisation ACL

L'utilisateur effectuant cette requête obtiendra des autorisations uniquement sur les ressources sur lesquelles il dispose d'au moins une autorisation EXECUTE.

Format d'URL GET HTTP

Le format suivant est utilisé pour la requête HTTP GET pour toutes les tables :

HTTP GET http://<server>:<port>/rest/Spatial/AccessControlService/permissions/tables

Le format suivant est utilisé pour la requête HTTP GET pour la table spécifiée :

HTTP GET http://<server>:<port>/rest/Spatial/AccessControlService/permissions/tables/namedTablePath

Paramètres

Paramètre Type Obligatoire Description
namedTablePath Chaîne Non Définit le chemin d'accès à la table nommée dont les autorisations sur les jeux de données doivent être renvoyées.

Format d'URL POST HTTP

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

HTTP POST URL: /permissions/tables
POST BODY: {
   "resources":[
      "/Samples/NamedTables/WorldTable",
      "/Samples/NamedTables/USA"
   ]
}
POST HEADER: Content-Type:application/json

Résultat

Renvoie une liste de tables avec les autorisations d'un utilisateur.

Exemple pour GET

Cet exemple demande toutes les autorisations dont dispose l'utilisateur sur "/Samples/NamedTables/WorldTable".

URL de requête

http://<server>:<port>/rest/Spatial/AccessControlService/permissions/tables/Samples/NamedTables/WorldTable

Réponse

{
   "name":"/Samples/NamedTables/WorldTable",
   "permissions":[
      "EXECUTE",
      "CREATE",
      "MODIFY",
      "DELETE"
   ]
}

Exemple pour POST

Cette requête renvoie une liste des autorisations dont dispose l'utilisateur sur les tables spécifiées dans le corps de la requête :

URL de requête

http://<server>:<port>/rest/Spatial/AccessControlService/permissions/tables

Corps de la requête

{
   "resources":[
      "/Samples/NamedTables/USA",
      "/Samples/NamedTables/WorldTable"
   ]
}

Réponse

{
   "resourcePermissions":[
      {
         "name":"/Samples/NamedTables/USA",
         "permissions":[
            "EXECUTE",
            "CREATE",
            "MODIFY",
            "DELETE"
         ]
      },
      {
         "name":"/Samples/NamedTables/WorldTable",
         "permissions":[
            "EXECUTE",
            "CREATE",
            "MODIFY",
            "DELETE"
         ]
      }
   ]
}