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 Feldbedingungen) 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.
Feldbedingungen
Soll nur auf eine Teilmenge der Dokumente einer Dokumentenklasse berechtigt werden, können Rollenfilter um Feldbedingungen ergänzt werden. Diese erlauben die Filterung von Dokumenten auf Basis ihrer Feldwerte.
Konfiguration
An einem Filter können beliebig viele Feldbedingungen 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.
SQUEEZE 1 unterstützt mehr Komparatoren als SQUEEZE 2. Sollten Sie einen Komparatoren nutzen, der nicht mehr unterstützt wird, kontaktieren Sie bitte den Support, wenn Sie migrieren möchten.
Auswertung
Feldbedingungen werden anders als Rollenfilter mit einem logischen Und 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 nur Dokumente sehen, die durch den zweiten Filter freigegeben werden.
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.
No Comments