Zugriff auf Layer steuern
In diesem Tutorial lernen Sie, wie Sie mit security.manager for OGC den Zugriff auf den WMS https://services.conterra.de/arcgis/services/common/grenzen/MapServer/WMSServer auf die Layer World und Bundeslaender einschränken können.
Voraussetzung
Dieses Tutorial baut auf den Dateien auf, die Sie im Tutorial Zugriff auf WMS erlauben erstellt haben.
Namen der Layer herausfinden
Um den Zugriff auf die Layer World und Bundeslaender einzuschränken, rufen Sie die Capabilities des Dienstes auf:
https://services.conterra.de/arcgis/services/common/grenzen/MapServer/WMSServer?request=GetCapabilities&service=WMS
Hier finden Sie einen Abschnitt <Layer>, in dem die Layer des Dienstes samt Namen aufgeführt sind:
<Layer>
<Title>
<![CDATA[ Layers ]]>
</Title>
<!-- ... -->
<Layer queryable="1">
<Name>0</Name>
<Title>
<![CDATA[ World ]]>
</Title>
<!-- ... -->
</Layer>
<Layer queryable="1">
<Name>1</Name>
<Title>
<![CDATA[ Bundeslaender ]]>
</Title>
<!-- ... -->
</Layer>
<Layer queryable="1">
<Name>2</Name>
<Title>
<![CDATA[ Kreise ]]>
</Title>
<!-- ... -->
</Layer>
<Layer queryable="1">
<Name>3</Name>
<Title>
<![CDATA[ Gemeinden ]]>
</Title>
<!-- ... -->
</Layer>
</Layer>
In diesem Fall benötigen Sie die Namen 0 (World) und 1 (Bundeslaender).
Zugriffsrecht anpassen
Öffnen Sie nun die policies-grenzen-wms.json aus dem Tutorial Zugriff auf WMS erlauben.
Ändern Sie dort den Layereintrag des Zugriffsrechts, um den Zugriff auf die Layer World und Bundeslaender zu beschränken:
{
"policies": [{
"layers": ["0", "1"],
"roles": ["enhancedSecurity_any"]
}]
}
Tomcat neustarten
Speichern und schließen Sie die Datei und starten Sie den Tomcat neu, um die Änderungen zu übernehmen.
Konfiguration überprüfen
Um die Konfiguration zu überprüfen, rufen Sie die Capabilites des geschützten Dienstes auf:
http://localhost:8080/secman-ogc/arcgis/services/common/grenzen/MapServer/WMSServer?request=GetCapabilities&service=WMS
<Layer>
<Title>
<![CDATA[ Layers ]]>
</Title>
<!-- ... -->
<Layer queryable="1">
<Name>0</Name>
<Title>
<![CDATA[ World ]]>
</Title>
<!-- ... -->
</Layer>
<Layer queryable="1">
<Name>1</Name>
<Title>
<![CDATA[ Bundeslaender ]]>
</Title>
<!-- ... -->
</Layer>
</Layer>
Sie sehen dort unter <Layer> lediglich die erlaubten Layer World und Bundeslaender.
Auf die Layer Kreise und Gemeinden kann hingegen nicht mehr zugegriffen werden.