Zum Hauptinhalt springen

sol.common.ix.functions.ChangeRights

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

📖 Herstellerdokumentation


Parameter

ParameterTypPflichtBeschreibung
objIdstringGUID oder numerische ID des Dokuments – entfällt im WF-Kontext
modestringSET – Rechte komplett überschreiben · ADD – Rechte hinzufügen · REMOVE – Benutzer/Gruppe entfernen
inheritbooleantrue – Rechte vom Elternelement erben, Standard: false
usersarrayListe von Benutzern/Gruppen mit expliziten Rechten (siehe Beispiel)
useTemplatingbooleanHandlebars in users[].name aktivieren – Standard: false
andGroupsarrayRechte 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