Skip to main content

Rollenfilter & Feldbedingungen

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 FilterbedingungenFeldbedingungen) 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 BerechtigungFeldbedingungen

Soll nur auf eine Teilmenge der Dokumente einer Dokumentenklasse berechtigt werden, können feldbasierteRollenfilter Filterbedingungenum zuFeldbedingungen einem Filter hinzugefügtergänzt werden. Diese erlauben die Filterung von Dokumenten auf Basis ihrer Feldwerte.

Konfiguration

An einem Filter können beliebig viele FilterbedingungenFeldbedingungen 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)

Aktuell können nicht alle konfigurierbaren Filter korrekt ausgewertet werden.

Die Filterung auf ein Textfeld mit einem "Größer als" Komparator (bspw. "Lieferantenname größer als 20") würde zu einem Suchfehler führen.

Die Konfiguration solcher Filter ist zwar (noch) möglich, sollte aber vermieden werden.

Auswertung

FilterbedingungenFeldbedingungen werden wieanders auchals Rollenfilter mit einem logischen OderUnd verknüpft ausgewertet.

Es müssen also alle Bedingungen erfüllt sein, damit ein Rollenfilter den Zugriff auf ein Dokument gewährt.

Zusammenspiel mehrerer Rollenfilter

Wenn für einen Benutzer mehrere Rollenfilter (mit wiederum diversen Feldbedingungen) ausgewertet werden, dann spielen Rollenfilter ohne Feldbedingungen keine Rolle mehr und werden ignoriert.

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 allenur Dokumente sehen, dadie diesdurch derden erstezweiten Filter erlaubt.freigegeben Derwerden.
  • 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.