Ressource ACL entfernen

Übersicht

Dieser Vorgang entfernt NamedResource.EXECUTE-Berechtigungen für Ressourcen für die angegebenen Benutzer und Rollen.

Die folgenden Geschäftsregeln können Ihnen helfen, eine bestimmte Antwort zu verstehen:
  • „ResourceList“ enthält einen Ressourcentyp – alle benannten Karten oder alle benannten Layer.
  • Das Entfernen der Berechtigung wird immer an die übergeordneten Ressourcen und an abhängige Ressourcen weitergegeben. Beispiel: Benannte Karten an benannte Kacheln bei der Weitergabe nach oben und benannte Karten an benannte Gruppenlayer an benannte Layer an benannte Beschriftungslayer an benannte Beschriftungsquellen bei der Weitergabe nach unten.
  • Wenn die Entfernung der Berechtigungen nach unten weitergegeben wird, werden die Berechtigungen nicht entfernt, wenn eine Ressource auf niedrigerer Ebene die ACL benötigt, damit eine andere übergeordnete Ressource funktioniert. Wenn ein Benutzer beispielsweise über Berechtigungen für zwei benannte Karten verfügt, die auf denselben benannten Layer verweisen, wird die Änderung der benannten Karte nicht an den Layer übertragen, da der Benutzer weiterhin die zweite benannte Karte rendern kann, die auf diesen Layer verweist .
  • Wenn der optionale Parameter recurseToData wahr ist, wird das Entfernen der EXECUTE-Berechtigung auch an die abhängigen benannten Tabellen weitergegeben. Wenn die Tabelle über die Berechtigungen Dataset.DML CREATE, MODIY oder DELETE verfügt, werden diese ebenfalls entfernt, da der Benutzer die Tabelle nicht abfragen kann, wenn EXECUTE nicht vorhanden ist.
  • Bei benannten WMTS-Kacheln wird das Entfernen der Berechtigung nicht an abhängige Ressourcen weitergegeben.
  • Die Berechtigung wird für alle Benutzer und Rollen in den angegebenen Ressourcen entfernt. Es ist nicht möglich, für jeden Benutzer oder jede Rolle in einer einzelnen Anforderung unterschiedliche Berechtigungen festzulegen. Die Ressourcen, für die Berechtigungen entfernt werden, können für unterschiedliche Benutzer oder Rollen unterschiedlich sein, je nachdem, ob Benutzer oder Rollen Berechtigungen für bestimmte Ressourcen (und ihre abhängigen Ressourcen) besitzen oder nicht.

ACL-Autorisierungsfluss

Der Benutzer, der diese Anforderung macht, kann nur die Berechtigung für Ressourcen in den Repository-Ordnern (oder Unterordnern) entfernen, für die er über WRITE-Berechtigungen verfügt.

URL-Format von HTTP-POST-Anforderungen

Für HTTP-POST-Anforderungen wird zum Löschen einer ACL von der angegebenen Ressource das folgende Format verwendet:

HTTP POST URL:  /acl/resources/delete
POST DATA:  {
   "users":[
      "user1"
   ],
   "roles":[
      "role1"
   ],
   "resources":[
      "/Samples/NamedTiles/WorldTile"
   ],
   "permissions":[
      "EXECUTE"
   ]
}
POST HEADER: Content-Type:application/json 

Parameter

Parameter Typ Erforderlich Beschreibung
users Zeichenfolge Ja Gibt eine Liste von Benutzern an. Nur erforderlich, wenn in der Anforderung keine Rollen angegeben sind.
Rollen Zeichenfolge Ja Gibt eine Liste von Rollen an. Nur erforderlich, wenn in der Anforderung keine Benutzer angegeben sind.
resources Zeichenfolge Ja Gibt eine Liste von Ressourcen an.
permissions Zeichenfolge Ja Gibt die Berechtigung an, die aus der Ressource entfernt werden soll. Die Berechtigung kann nur EXECUTE sein.
recursetoData Zeichenfolge Nein Gibt an, ob das Entfernen von ACL-Berechtigungen an abhängige benannte Tabellen weitergegeben wird.

Gibt zurück:

Eine Liste der Ressourcen (und ihrer abhängigen Ressourcen), für die die EXECUTE-Berechtigung für die angegebenen Benutzer und Rollen entfernt wurde.

Beispiel für POST

Anforderungs-URL
http://<Server>:<Port>/rest/Spatial/AccessControlService/acl/resources/delete

Anforderungstext

{
   "users":[
      "user1"
   ],
   "roles":[
      "role1"
   ],
   "resources":[
      "/Samples/NamedTiles/WorldTile"
   ],
   "permissions":[
      "EXECUTE"
   ]
}

Antwort

{
   "users":[
      {
         "name":"user1",
         "resources":[
            "/Samples/NamedTiles/WorldTile",
            "/Samples/NamedLayers/WorldcapFeatureLayer",
            "/Samples/NamedLayers/WorldFeatureLayer",
            "/Samples/NamedMaps/WorldMap",
            "/Samples/NamedLayers/Grid15FeatureLayer",
            "/Samples/NamedLabelSources/WorldCountriesLabelSource",
            "/Samples/NamedLayers/OceanFeatureLayer",
            "/Samples/NamedTables/OceanTable",
            "/Samples/NamedTables/Grid15Table",
            "/Samples/NamedTables/WorldcapTable",
            "/Samples/NamedTables/WorldTable"
         ]
      }
   ],
   "roles":[
      {
         "name":"role1",
         "resources":[
            "/Samples/NamedTiles/WorldTile",
            "/Samples/NamedLayers/WorldcapFeatureLayer",
            "/Samples/NamedLayers/WorldFeatureLayer",
            "/Samples/NamedMaps/WorldMap",
            "/Samples/NamedLayers/Grid15FeatureLayer",
            "/Samples/NamedLabelSources/WorldCountriesLabelSource",
            "/Samples/NamedLayers/OceanFeatureLayer",
            "/Samples/NamedTables/OceanTable",
            "/Samples/NamedTables/Grid15Table",
            "/Samples/NamedTables/WorldcapTable",
            "/Samples/NamedTables/WorldTable"
         ]
      }
   ]
}