sol.common.ix.functions.ChangeRights
Setzt oder erweitert die Berechtigungen eines ELO-Dokuments – mit optionaler Vererbung vom Elternelement.
Parameter
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
objId | string | ❌ | GUID oder numerische ID des Dokuments – entfällt im WF-Kontext |
mode | string | ✅ | SET – Rechte komplett überschreiben · ADD – Rechte hinzufügen · REMOVE – Benutzer/Gruppe entfernen |
inherit | boolean | ❌ | true – Rechte vom Elternelement erben, Standard: false |
users | array | ❌ | Liste von Benutzern/Gruppen mit expliziten Rechten (siehe Beispiel) |
useTemplating | boolean | ❌ | Handlebars in users[].name aktivieren – Standard: false |
andGroups | array | ❌ | 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
Jedervollständig aus den Berechtigungen. Dierights-Flags geben an welche Rechte entzogen werden – alle auftrueentfernt 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 }
}
]
}
usersvergibt einfache Einzelrechte.andGroupsvergibt erweiterte Rechte nur an Benutzer die in allen genannten Gruppen Mitglied sind – nützlich für lizenzbasierte Berechtigungsmodelle.
Rechte-Flags
| Flag | Bedeutung |
|---|---|
r | Lesen |
w | Schreiben |
d | Löschen |
e | Bearbeiten |
l | Liste |
p | Berechtigungen verwalten |
Hinweise
mode: "SET"entfernt alle nicht explizit genannten Berechtigungen – Vorsicht bei produktiven Dokumentenmode: "ADD"ist sicherer: bestehende Rechte bleiben erhalten, neue kommen hinzuinherit: trueohneusersreicht für die häufigste Nutzung (Ordnerrechte nach unten durchreichen)- Wird typischerweise aus
onExitNodeeines Workflow-Nodes aufgerufen – dann istobjIdnicht nötig