Zum Hauptinhalt springen

sol.common.ix.functions.ChangeRights

Setzt oder erweitert die Berechtigungen eines ELO-Dokuments – mit optionaler Vererbung vom Elternelement.

📖 Herstellerdokumentation


Parameter​

ParameterTypPflichtBeschreibung
objIdstring❌GUID oder numerische ID des Dokuments – entfällt im WF-Kontext
modestring✅SET – Rechte komplett überschreiben · ADD – Rechte hinzufügen · REMOVE – Benutzer/Gruppe entfernen
inheritboolean❌true – Rechte vom Elternelement erben, Standard: false
usersarray❌Liste von Benutzern/Gruppen mit expliziten Rechten (siehe Beispiel)
useTemplatingboolean❌Handlebars in users[].name aktivieren – Standard: false
andGroupsarray❌Rechte nur vergeben wenn Benutzer in ALLEN angegebenen Gruppen ist (UND-Verknüpfung)

Beispiele​

Rechte erben und weiterreichen​

Überschreibt alle bestehenden Rechte mit den vom Elternelement vererbten Rechten.

{
"mode": "SET",
"inherit": true
}

Nur von oben erben und sonst nichts überschreiben​

Fügt die vererbten Rechte hinzu, ohne bestehende Rechte zu entfernen.

{
"mode": "ADD",
"inherit": true
}

Explizite Benutzerrechte setzen​

{
"mode": "SET",
"users": [
{ "name": "Buchhaltung", "rights": { "r": true, "w": true, "d": false, "e": false, "l": false, "p": false } },
{ "name": "Administrator", "rights": { "r": true, "w": true, "d": true, "e": true, "l": true, "p": true } }
]
}

Eigentümerrechte setzen und Zielordnerrechte übernehmen​

Fügt den Dokumenteigentümer (dynamisch per Templating) mit Lese-/Schreibrecht hinzu und erbt zusätzlich die Rechte des Elternelements.

{
"mode": "ADD",
"users": [
{ "name": "{{sord.ownerName}}", "rights": { "r": true, "w": true, "d": false, "e": false, "l": false } }
],
"useTemplating": true,
"inherit": true
}

Rechte erben und zusätzlich Benutzer hinzufügen​

{
"mode": "ADD",
"inherit": true,
"users": [
{ "name": "Freigabe-Team", "rights": { "r": true, "w": true, "d": false, "e": false, "l": false, "p": false } }
]
}

Gruppe "Jeder" entfernen​

{
"objId": "8119",
"users": ["Jeder"],
"rights": { "r": true, "w": true, "e": true, "d": true, "l": true, "p": true },
"mode": "REMOVE"
}

Entfernt die Gruppe Jeder vollständig aus den Berechtigungen. Die rights-Flags geben an welche Rechte entzogen werden – alle auf true entfernt die Gruppe komplett.

Rechte per UND-Gruppenverknüpfung vergeben (andGroups)​

Nur Benutzer die gleichzeitig in der Lizenzgruppe und der über ein GRP-Feld ermittelten Abteilungsgruppe sind erhalten Rechte.

{
"mode": "SET",
"users": [
{ "type": "GRP", "key": "POST_ANWENDER", "rights": { "r": true } }
],
"andGroups": [
{
"groups": [ "ELO-RW-Lizenz", { "type": "GRP", "key": "POST_ABTEILUNG" } ],
"rights": { "r": true, "w": true, "e": true }
}
]
}

users vergibt einfache Einzelrechte. andGroups vergibt erweiterte Rechte nur an Benutzer die in allen genannten Gruppen Mitglied sind – nützlich für lizenzbasierte Berechtigungsmodelle.


Rechte-Flags​

FlagBedeutung
rLesen
wSchreiben
dLöschen
eBearbeiten
lListe
pBerechtigungen verwalten

Hinweise​

  • mode: "SET" entfernt alle nicht explizit genannten Berechtigungen – Vorsicht bei produktiven Dokumenten
  • mode: "ADD" ist sicherer: bestehende Rechte bleiben erhalten, neue kommen hinzu
  • inherit: true ohne users reicht für die häufigste Nutzung (Ordnerrechte nach unten durchreichen)
  • Wird typischerweise aus onExitNode eines Workflow-Nodes aufgerufen – dann ist objId nicht nötig