Groups (Security)

From Plex-XML

Jump to: navigation, search

Contents

Gruppen

Allgemeine Gruppen

  • Allgemeine Gruppen gelten für alle Funktionen die nicht per Security geschützt sind (also alle die in der Funktion "Right=*ALL" haben).
  • Allgemeine Gruppen ergänzen sich. Hat ein User z.B.:
- in der Gruppe A den Shop X und
- in der Gruppe B den Shop Y und das Menu Z
zugeordnet dann kann er das Menu Z auch für den Shop X nutzen.
  • Es gibt Gruppe/User, Gruppe/Shop, Gruppe/Menu Zuordnungen. Keine Gruppe/Rolle ansonsten wird es automatisch eine exklusive Gruppe.
  • Berechtigungen für Read, Read/Change, Read/Change/Delete können nicht vergeben werden!
--> evtl. könnte man Read Berechtigungen auf Shop-Ebene vergeben und das in den Business-Insert/Update/Delete Funktionen prüfen!
  • Eine Sicherheit auf Funktionsebene ist nur indirekt geben. Sie beschränkt sich auf:
    • die Sichtbarkeit der Funktion im Menu
    • die Unkenntnis der Aufzurufenden URL
    • den Schutz durch Secured Fields

Exklusive Gruppen

  • Sobald eine Gruppe mit einer Rolle verknüpft ist gelten alle beteiligten Shop-Zuordnungen nur noch für die Funktionen der Rolle. D.h. die Funktionen die der Rolle zugeordnet sind können nur in den Shops ausgeführt werden die in dieser Gruppe zugeordnet sind.
  • Die Prüfung erfolgt ausgehend von einer über die Security geschützten Funktion die dann über Funktion, Funktionalität, Rolle, Rolle/Group, Group/User, Group/Shop die Berechtigung für den User ermittelt.
  • Menus die mit einer exklusiven Gruppe verknüpft sind dürfen nur angezeigt werden wenn der User in einem zu dieser Gruppe zugehörigen Shops angemeldet ist.
  • Eine exklusive Gruppe ohne Shop macht somit keinen Sinn (wegen der Definition oben).
-->Ist das so???: z.B. in der Security-Administration die Passwort-Änderung ist Shop unabhängig!!! Brauchen wir da noch ein Feld "Exclusiv aber ohne Shop"?
  • Berechtigungen für Read, Read/Change, Read/Change/Delete können sowohl in der Zuordnung von Funktionalität zur Rolle wie auch in der Zuordnung von Shop zur Gruppe vergeben werden. Es gewinnt das kleinere beider Rechte (Read < Read/Change < Read/Change/Delete)

--> Macht hier (wie in den Zweckgemeinschaften) eine neue Tabelle mit Gruppe/User/Shop Verknüpfung Sinn? Dann müsste nicht pro Shop eine eigene Gruppe angelegt werden!
--> !!!Wie ist die Idee den User mit einer "Allgemeinen Shop-Gruppe" für die Shop-Berechtigungen zu verknüpfen!!!

Zweckgemeinschaften

  • Zweckgemeinschaften dienen der Gruppierung von Benutzern zur Abbildung von Datenabhängigen Berechtigungen.
  • Zweckgemeinschaften können in ihrer Berechtigung nicht weiter nach Enterprise/Shop unterteilt werden.
-->Da fehlt eine Idee wie man eine Zweckgemeinschaft mit einem festen Schlüssel in mehrere gleiche Zweckgemeinschaften mit unterschiedlichen Enterprise/Shop Berechtigungen je User unterteilt. ??? eine neue Tabelle mit Gruppe/User/Shop ???
  • Die Berechtigung zu einer Zweckgemeinschaft wird immer aktiv über den genauen Gruppennamen abgefragt oder es ist wird die Zughörigkeit zu einer Gruppe von Zweckgemeinschaften abgefragt. Diese Gruppe wird über das Feld "Used For" gebildet.
  • Die Regeln wie die Berechtigungen jeweils abgebildet werden müssen separat in den jeweiligen Programmen erstellt werden.
  • Eine Zweckgemeinschaft wird in der Gruppen-Tabelle durch einen Eintrag im Feld "Used For" gekennzeichnet.
  • Prüfung-/Verknüpfungsmöglichkeiten:
    • Über den Eintrag der Gruppe in das Owner-Feld eines Satzes. Damit ist aber nur eine 1:1 Zuordnung von Gruppe zu Datensatz möglich.
    • Über die Verwendung des Satz-Schlüssels im Gruppen-Schlüssel. Auch nur eine 1:1 Verknüpfung. Z.B. "OBJ-4711" --> Zweckgemeinschaft für die Objekt-Gruppe 4711. Hinter dieser Objekt-Gruppe können dann allerdings weitere Einzelsätze (Objekte) stehen (siehe Object-Model)
    • Über eine weitere Tabelle in der Gruppe und Satz verknüpft werden. Ähnlich der Logik die bei den Tags genutzt wird. Damit ist eine N:N Verküpfung zwischen Gruppe und Satz möglich.
  • Ein Beispiel ist die Abbildung von "Unseren Kontakten" wobei eine Gruppe von Benutzern sich einen Pool von gemeinsamen Kontakten zuordnet.
    • Schlüssel: "CON_4711"
    • Beschreibung: "Unsere Getreide Kontakte"
    • Eine Tabelle in der z.B. unter der Nummer 4711 N Kontakte zusammengeführt werden.

Example

Image:Groups.png

Image:Groups2.png

Personal tools