Definition

Menüaufruf: (Konfiguration) - (Datenquellen) - (Datensatzfreigabe)

Die Datensatzfreigabe ist ein generisches Konzept für beliebige Berechtigungseinschränkungen auf Objektebene (Datensatzebene). Hierfür gibt es den Datenquellentyp Datensatzfreigabe (Record grant) im Konfigurationsmenü unter Datenquellen -> Datensatzfreigabe. Eine hier angelegte Datenquelle wird einem Businessobjekt zugewiesen, und erhält als einzigen Parameter $username übergeben. Die einzige zwingende Spalte (Rückgabewert) ist INTID. Zusammengefasst: Rein geht der Username --> Datensatzfreigabe verarbeitet gemäss Datenquelle --> Liste der sichtbaren Datensätze kommt raus.


Beispiel 1

Mithilfe dieses Konzeptes können praktisch alle Anforderungen an hierarchische oder mehrdimensionale Berechtigungen implementiert werden. Die Datenquellen lassen sich schachteln, nicht jede muss einem Businessobjekt zugewiesen sein.

Berechtigung datensatzfreigabe 1.gif


Beispiel 2

Zusätzlich gibt es zwei optionale Spalten (Rückgabewert) CANWRITE und CANDELETE. Liefern diese „true“ oder "false" bzw. 1 oder 0 zurück, validiert der Server zusätzlich, ob ein Benutzer auch schreibend und löschen auf das jeweilige Objekt (den jeweiligen Datensatz) zugreifen kann (Default ist „true“!).

ab Nuclos 4.8:
Zusätzliche optionale Spalte CANSTATECHANGE. Liefert diese Spalte einen anderen Wert als CANWRITE, so ist es z.B. möglich einen Statuswechsel zuzulassen, obwohl CANWRITE "false" sagt, bzw. umgekehrt. Allerdings müssen die generellen Rechte für einen Statuswechsel immer vorhanden sein! (Default ist automatisch der Wert aus CANWRITE).



Beispiel: Eine Mappingtabelle wurde eingeführt, um die Benutzerrechte bestimmten Standorten zuzuteilen.


Die Datensatzfreigabe wurde dann entsprechend erweitert:


Alle anderen bisherigen Berechtigungsverfahren existieren weiterhin und werden (höherrangig) verarbeitet.

Achtung: Die Datensatzfreigaben müssen unter "Administration > Benutzergruppe" all jenen Benutzergruppen zugeordnet werden, für die diese Einschränkungen greifen sollen.

Achtung: in Postgres muss die intid-Spalte klein geschrieben sein !




Berechtigung datensatzfreigabe 3.gif

  • Keine Stichwörter

Kommentar

  1. Info zu den Rückgabewerte für andere User/Entwickler:
    CANWRITE, CANDELETE und CANSTATECHANGE müssen mindestens ab 4.2023.11 mit Postgres "klein" geschrieben werden, sonst gibt es Fehlermeldungen im Layout des BOs bei der Benutzung.