Zugriff räumlich einschränken

In diesem Tutorial lernen Sie, wie Sie den Zugriff auf den Dienst https://services.conterra.de/arcgis/services/common/grenzen/MapServer/WMSServer räumlich einschränken können.

Voraussetzung

Dieses Tutorial baut auf den Dateien auf, die Sie im Tutorial Zugriff auf WMS erlauben erstellt haben.

Geometrie definieren

Um den Zugriff auf den WMS räumlich ungefähr auf das Gebiet von Nordrhein-Westfalen einzugrenzen, legen Sie zuerst die Datei nrw.geojson im Order policies an:

${user.home}/.secman-ogc/policies/nrw.geojson
{
  "type": "Polygon",
  "coordinates": [
    [
      [ 5.86725, 50.32375 ],
      [ 9.46245, 50.32375 ],
      [ 9.46245, 52.52860 ],
      [ 5.86725, 52.52860 ],
      [ 5.86725, 50.32375 ]
    ]
  ]
}

Geometrien in dieser Datei müssen vom Typ Polygon oder MultiPoligon sein. Sie beschreiben die Regionen, auf die der Zugriff erlaubt ist. security.manager for OGC schneidet angefragte Karten entlang dieser Geometrien aus. Eine genauere Beschreibung dieser Datei und den Bedingungen finden Sie unter Geometrien für räumliche Einschränkungen.

Räumliche Einschränkung definieren

Die räumliche Einschränkung muss nun in der Zugriffsrechte-Datei definiert werden. Öffnen Sie hierzu die policies-grenzen-wms.json aus dem vorherigen Tutorial.

Ergänzen Sie die Datei um den Abschnitt restrictions und fügen eine räumliche Einschränkung wie folgt hinzu:

${user.home}/.secman-ogc/policies/policies-grenzen-wms.json
{
  "policies": [{
    "layers": ["*"],
    "roles": ["enhancedSecurity_any"]
  }],
  "restrictions":{
    "nrw":{
      "type":"spatial",
      "source":"nrw.geojson"
    }
  }
}

Einschränkung referenzieren

Nachdem Sie die Geometrien für die räumlich Einschränkung erstellt haben sowie eine räumliche Einschränkung definiert haben, müssen Sie diese noch in einem Zugriffsrecht referenzieren. Ergänzen Sie hierfür das Zugriffsrecht um eine Liste mit Einschränkungen. Fügen Sie dieser Liste den Namen der Einschränkung hinzu:

${user.home}/.secman-ogc/policies/policies-grenzen-wms.json
{
  "policies": [{
    "layers": ["*"],
    "roles": ["enhancedSecurity_any"],
    "restrictions":["nrw"]
  }],
  "restrictions":{
    "nrw":{
      "type":"spatial",
      "source":"nrw.geojson"
    }
  }
}

Tomcat neustarten

Speichern Sie die Änderungen und starten den Tomcat neu, um die Änderungen zu übernehmen.