Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core JavaScript-API
Diese JavaScript-Bibliothek bietet Funktionen, um objektspezifische Berechtigungen im Kontext des Permission Managers zu verwalten. Der Permission Manager verwaltet objektspezifische Berechtigungen auf dem jeweiligen Objekt. Dabei werden Berechtigungen (z. B. read, write, all) direkt am Objekt gespeichert und können so gezielt vergeben oder entzogen werden. Zusätzlich kann über eine Basis-ACL der grundsätzliche Zugriff definiert werden. Diese Basisberechtigung wird vererbt und gilt damit auch für untergeordnete Objekte, solange dort keine eigene Basis-ACL gesetzt wird.
Binden Sie die Bibliothek stets am Anfang eines Skripts ein:
let permissions = require('common/permissions');
Bei setPermission und removePermission wird die Berechtigung als JavaScript-Objekt übergeben:
{
granteeId: '<user>',
permission: '<permission>'
}
| Eigenschaft | Beschreibung |
|---|---|
granteeId |
String. ID eines Benutzers oder einer Gruppe. |
permission |
String. Die Berechtigung. Die erlaubten Werte werden aus den Permission-Manager-Definitionen geladen: none, read, write, all, check_out, protected. |
Setzt (ergänzt) eine Berechtigung für einen Benutzer oder eine Benutzergruppe direkt auf dem Objekt. Es kann immer nur eine Berechtigung pro Aufruf gesetzt werden. Mehrere Berechtigungen müssen nacheinander gesetzt werden.
Syntax
permissions.setPermission(objectId, permissionJson);
Parameter
| Parameter | Beschreibung | Pflicht | Standard |
|---|---|---|---|
objectId |
String. ID des Objekts. | ja | – |
permissionJson |
JSON. Siehe Angabe der Berechtigungen. | ja | - |
Beispiel
let objects = require('common/objects');
let permissions = require('common/permissions');
permissions.setPermission('1587894', {
granteeId: 'user:mbauer',
permission: 'read'
});
Rückgabewerte
Kein Rückgabewert.
Exceptions
Bei Fehlern wird eine Exception geworfen und der Aufruf abgebrochen.
Liest alle direkt auf dem Objekt gesetzten Berechtigungen.
Syntax
let allPermissions = permissions.getPermissions(objectId);
Parameter
| Parameter | Beschreibung | Pflicht | Standard |
|---|---|---|---|
objectId |
String. ID des Objekts. | ja | – |
Rückgabewert
Array von Objekten:
[
{
granteeId: '497086d0-85bb-11e8-9c07-123456789012',
permission: 'read'
}
]
Beispiel
let objects = require('common/objects');
let permissions = require('common/permissions');
let allPermissions = permissions.getPermissions('1587894');
allPermissions;
Entfernt eine direkt gesetzte (nicht vererbte) Berechtigung auf dem übergebenen Objekt.
Syntax
permissions.removePermission(objectId, permissionJson);
Parameter
| Parameter | Beschreibung | Pflicht | Standard |
|---|---|---|---|
objectId |
String. ID des Objekts. | ja | – |
permissionJson |
JSON. Siehe Angabe der Berechtigungen. | ja | – |
Rückgabewert
Kein Rückgabewert.
Exceptions
Bei Fehlern wird eine Exception geworfen und der Aufruf abgebrochen.
Beispiel
let objects = require('common/objects');
let permissions = require('common/permissions');
permissions.removePermission('1587894', {
granteeId: 'user:mbauer',
permission: 'read'
});
Entfernt alle direkt auf dem Objekt gesetzten Berechtigungen. Vererbte Berechtigungen bleiben bestehen.
Syntax
permissions.removeAllPermissions(objectId);
Parameter
| Parameter | Beschreibung | Pflicht | Standard |
|---|---|---|---|
objectId |
String. ID des Objekts. | ja | – |
Rückgabewert
Kein Rückgabewert.
Exceptions
Bei Fehlern wird eine Exception geworfen und der Aufruf abgebrochen.
Beispiel
let objects = require('common/objects');
let permissions = require('common/permissions');
permissions.removeAllPermissions('1587894');
Setzt eine Basis-ACL-Konfiguration auf ein Objekt, die als Grundlage für die Verwaltung der Berechtigungen auf Objektebene dient.
Syntax
permissions.setBaseAcl(objectId, aclName);
Parameter
| Parameter | Beschreibung | Pflicht | Standard |
|---|---|---|---|
objectId |
String. ID des Objekts. | ja | – |
aclName |
String. Name einer existierenden ACL. Wenn |
nein | null |
Rückgabewert
Kein Rückgabewert.
Beispiel
let permissions = require('common/permissions');
permissions.setBaseAcl('bd44b560-16e3-11f1-b061-02420a0a0012', 'private-admin-affected');
Gibt den Namen der Basis-ACL zurück, die auf ein Objekt gesetzt wurde. Ist keine Basis-ACL direkt gesetzt, wird die vererbte Basis-ACL zurückgegeben (oder ein leerer String).
Syntax
let aclName = permissions.getBaseAcl(objectId);
Parameter
| Parameter | Beschreibung | Pflicht | Standard |
|---|---|---|---|
objectId |
String. ID des Objekts. | ja | – |
Rückgabewert
String. Name der ACL oder leerer String.
Beispiel
let objects = require('common/objects');
let permissions = require('common/permissions');
let aclName = permissions.getBaseAcl('1587895');
aclName;
Blocker dienen dazu, die Vererbung von Berechtigungen gezielt zu unterbrechen – und zwar pro Berechtigung (z. B. nur read oder nur all) und nicht pro Benutzer/Gruppe.
Hinweise:
Gibt alle Berechtigungen zurück, für die auf dem Objekt ein Blocker gesetzt ist.
Syntax/Beispiel
let permissions = require('common/permissions');
let blockedPermissions = permissions.getBlocks('bd44b560-16e3-11f1-b061-02420a0a0012');
blockedPermissions;
Parameter
| Parameter | Beschreibung | Pflicht | Standard |
|---|---|---|---|
objectId |
String. ID des Objekts. | ja | – |
Rückgabewert
['read', 'all']
Setzt einen Blocker für eine Berechtigung, wodurch die Vererbung für diese Berechtigung effektiv komplett unterbrochen wird.
Syntax/Beispiel
let permissions = require('common/permissions');
permissions.setBlock('bd44b560-16e3-11f1-b061-02420a0a0012', 'write');
Parameter
| Parameter | Beschreibung | Pflicht | Standard |
|---|---|---|---|
objectId |
String. ID des Objekts. | ja | – |
permission |
String. Die Berechtigung, für die die Vererbung unterbrochen werden soll (z. B. read oder all). | ja | – |
Entfernt den Blocker für eine Berechtigung. Danach kann die Vererbung für diese Berechtigung wieder greifen (abhängig von den übergeordneten Definitionen).
Syntax/Beispiel
let permissions = require('common/permissions');
permissions.removeBlock('bd44b560-16e3-11f1-b061-02420a0a0012', 'all');
Parameter
| Parameter | Beschreibung | Pflicht | Standard |
|---|---|---|---|
objectId |
String. ID des Objekts. | ja | – |
permission |
String. Die Berechtigung, für die der Blocker entfernt werden soll. | ja | – |