Skip to main content

Rollenfilter & Feldbasierte Berechtigung

Rollenfilter

Rollenfilter (im Folgenden kurz "Filter") gehören zum Autorisierungskonzept von SQUEEZE und unterstützen bei feldbasierter Authorisierung von Dokumenten.

Mittels Filtern ist es möglich für unterschiedliche Benutzergruppen andere Dokumente (auch innerhalb einer Dokumentenklasse) zu berechtigen.


Konfiguration

Jeder Rolle können beliebig viele Filter hinzugefügt werden.

Ein Filter steht im Bezug zu einer Dokumentenklasse und berechtigt den Zugriff (lesend & schreibend) auf alle Dokumente dieser Klasse.

Auswertung

Rollenfilter werden mit einem logischen Oder ausgewertet. D. h., wenn einer Rolle mehrere Filter zu der selben Dokumentenklasse zugeordnet sind, dann reicht bereits eine positive Auswertung des ersten Filters (und seiner Filterbedingungen) aus, um Zugriff auf das Dokument zu erhalten.

Dieses Verhalten gilt auch dann, wenn ein Benutzer Mitglied mehrerer Rollen mit wiederum diversen Filtern ist.

Zusammengefasst: Ein Benutzer erhält Zugriff auf ein Dokument, sobald mindestens eine seiner Rollen über einen Rollenfilter den Zugriff gewährt.

Feldbasierte Berechtigung

Soll nur auf eine Teilmenge der Dokumente einer Dokumentenklasse berechtigt werden, können feldbasierte Filterbedingungen zu einem Filter hinzugefügt werden.

Konfiguration

An einem Filter können beliebig viele Filterbedingungen definiert werden. Eine Bedingung ist zusammengesetzt aus:

  • Dem Feld dessen Inhalt geprüft werden soll
  • Dem Kompartor, der zur Prüfung genutzt wird
  • Dem Vergleichswert (kann von einigen Komparatoren ignoriert werden)

Auswertung

Filterbedingungen werden wie auch Rollenfilter mit einem logischen Oder ausgewertet.

Ein Beispiel: Eine Rolle hat zwei Filter. Der erste Filter hat keine Feldbedingungen. Der zweite Filter hat eine Feldbedingung. Bei der Auswertung dürfen Nutzer der Rolle alle Dokumente sehen, da dies der erste Filter erlaubt. Der zweite Filter schränkt die Menge berechtigter Dokumente nicht ein.

Zusammenspiel mit vererbten Rollen

Ist ein Nutzer Mitglied mehrerer Rollen (durch explizite Zuordnung oder Rollen-Vererbung), so werden Rollenfilter und Feldbedingungen dieser Rollen bei der Auswertung berücksichtigt.