WFS-Berechtigungen mit Filterausdrücken
Berechtigungen für Web Feature Services können im security.manager mit Filterausdrücken verknüpft werden, wie sie in der Spezifikation OpenGIS Filter Encoding Implementation Specification 1.1.0 definiert sind. Damit kann rechtebasiert der Zugriff auf einzelne Features anhand belibiger, attributbasierter Regeln gesteuert werden.
Ein WFS bietet den Feature Type "Staedte" an, der das Attribut "EINWOHNERZAHL" besitzt. Mittels Filter Encoding-konformer Ausdrücke kann die Regel Nur Städte mit mehr als 100.000 Einwohnern mit einer Berechtigung verknüpft werden, so dass Nutzer je nach Rollenzugehörigkeit nur eine bestimmte Auswahl von Städten sehen können.
Filterausdrücke werden nicht für Web Feature Services in der Version 2.0 unterstützt. |
Da security.manager die Filterausdrücke in die ursprüngliche Anfragen des Client integriert und diese dann zum geschützten Dienst weiterleitet, sind ggf. Einschränkungen der WFS-Implementierung hinsichtlich der unterstützten Filterausdrücke zu beachten.
Erstellen der Auflage
-
Anlegen einer neuen Obligation
Wählen Sie Auflagen → Neu → OGC Filter-Ausdruck → Neue Auflage erstellen innerhalb eines Rechtes, das zu einem WFS-Rechteset gehört. -
Namen der Obligation festlegen
Geben Sie unter Allgemeine Angaben → Bezeichnung den Namen der Obligation ein, z.B.nur_grossstaedte
. -
Feature Type für den Filter auswählen
Wählen Sie unter Parameter → Feature Type den Feature Type aus, für den Sie den Filterausdruck definieren möchten, z.B.Staedte
. -
Filterausdruck definieren
Tragen Sie im Textfeld Parameter → Filterausdruck einen gültigen OGC Fitlerausdruck ein. Dabei ist auf die korrekte Verwendung von Namespaces zu achten.
Beispiel:<ogc:PropertyIsGreaterThan xmlns:ogc="http://www.opengis.net/ogc"> <ogc:PropertyName>EINWOHNERZAHL</ogc:PropertyName> <ogc:Literal>100000</ogc:Literal> </ogc:PropertyIsGreaterThan>
-
Bedingung speichern
Klicken Sie Bedingung speichern, um den Dialog zu verlassen und die Auflage zu aktivieren. Sie ist nach dem Speichern sofort wirksam.