Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core JavaScript-API
Der SessionController ist eine Variable (sc), die in jedem Skript zur Verfügung steht. Zusätzlich können Sie eine administrative Sitzung verwenden, indem Sie sca statt sc setzen.
sc
: Sitzungsverwaltung eines Standardbenutzerssca
: "super admin session (roi)", Sitzung mit Superadministrator-Rechten.Mithilfe dieser Java-Klasse fragen Sie diverse Kontexte zur Session des aktuell angemeldeten Benutzers ab. Zusätzlich können Sie die Rechte für die Session temporär erhöhen.
Die Session des angemeldeten Benutzers ist als globale Variable verfügbar und trägt den Namen sc.
Definieren Sie diese Variable über die Angabe global, um sie zu verwenden:/* global sc */ let value = sc.field;Zusätzlich können Sie eine administrative Sitzung verwenden, indem Sie sca statt sc setzen.
/* global sc, sca */ // sc = user session // sca = super admin session (roi) // Everything that is done with objects will be done with ROI. Use this approach only if this is really necessary! let objects = require('common/objects').sc(sca);
Bibliotheken, die mit Objekten arbeiten (wie die JavaScript-Bibliothek common/objects), verwenden im Standard die global verfügbare Sitzung sc für ihre Operationen. Eine davon abweichende Sitzung verwenden Sie etwa folgendermaßen:
/* global sca */ let objects = require('common/objects').sc(sca); let object = objects.find('/not/visible/to/current/user');
Dieses Beispiel verwendet abweichend die administrative Sitzung sca, um das Objekt /not/visible/to/current/user zu finden, das der aktuell angemeldete Benutzer nicht sehen kann.
sca können Sie in diesen Bibliotheken verwenden:
Oft ist es besser, die Rechte nur temporär zu erhöhen. Dazu können Sie eine der Methoden asAdmin oder asService verwenden.
/* global sc */ // Everything that is done with objects will be done with the user, but with admin privileges. // User with elevated privileges let objects = require('common/objects').sc(sc.asAdmin()); // Everything that is done with objects will be done with the user, but as a service session. // Some functionality is not available, e.g. no change history will be created let objects = require('common/objects').sc(sc.asService());
Zusätzlich gibt es die Möglichkeit, mit der Methode asUser eine Session gezielt als ein anderer Benutzer auszuführen:
/* global sc */ // Everything that is done with objectUser will be done with a session of the demo user. let objects = require('common/objects'); let objectUser = require('common/objects').sc(sc.asUser(objects.find('user:demo')));
Sie können auch eine Session, die als ein anderer Benutzer ausgeführt wird, temporär mit Admin-Rechten versehen oder als Service ausführen:
/* global sc */ // Everything that is done with objectUserAdmin will be done with a session of the demo user with admin privileges. let objectUserAdmin = require('common/objects').sc(sc.asUser(objects.find('user:demo')).asAdmin();
Fragt den aktuell angemeldeten Benutzer der Session ab.
Syntax
Name des Benutzers
let loginUser = sc.loginUser.name;
ID des Benutzers
let loginUser = sc.loginUser.ID;
Parameter
Beispiele
Name des Benutzers
/* global sc */ let loginUser = sc.loginUser.name; loginUser;
ID des Benutzers
/* global sc */ let loginUser = sc.loginUser.ID; loginUser;
Rückgabewerte
Sie erhalten entweder den Namen oder die ID des aktuell angemeldeten Benutzers der Session zurück.
Name des Benutzers
roi
ID des Benutzers
11000
Verwendung
Diese Methode verwenden Sie, wenn Sie den Namen oder die ID des aktuell angemeldeten Benutzers der Session erhalten möchten.
Exceptions
Zu dieser Methode existieren keine Exceptions.
Frag die UUID des aktuell angemeldeten Benutzers der Session ab.
Syntax
let loginUserUuid = sc.loginUserUuid;
Parameter
Zu dieser Methode existieren keine Parameter.
Beispiel
/* global sc */ let loginUserUuid = sc.loginUserUuid; loginUserUuid;
Rückgabewerte
Sie erhalten die UUID des aktuell angemeldeten Benutzers der Session zurück.
714614d0-ce62-11e0-b47a-0800276e2399
Verwendung
Diese Methode verwenden Sie, wenn Sie die UUID des aktuell angemeldeten Benutzers der Session erhalten möchten.
Exceptions
Zu dieser Methode existieren keine Exceptions.
Fragt die Spracheinstellung der Session ab.
Syntax
let locale = sc.locale;
Parameter
Zu dieser Methode existieren keine Parameter.
Beispiel
/* global sc */ let locale = sc.locale; locale;
Rückgabewerte
Sie erhalten die Spracheinstellung der Session zurück. Es handelt sich dabei um ein java.util.Locale-Objekt.
"de"
Verwendung
Diese Methode verwenden Sie, wenn Sie die Spracheinstellung der Session erhalten möchten.
Exceptions
Zu dieser Methode existieren keine Exceptions.
Fragt ab, ob sich die Session im Adminmodus oder im normalen Benutzermodus befindet.
Syntax
let adminEnabled = sc.adminEnabled;
Parameter
Zu dieser Methode existieren keine Parameter.
Beispiel
/* global sc */ let adminEnabled = sc.adminEnabled; adminEnabled;
Rückgabewerte
Sie erhalten einen booleschen Wert zurück.
Wert | Beschreibung |
---|---|
true | Die Session befindet sich im Adminmodus. |
false | Session befindet sich im normalen Benutzermodus. |
Verwendung
Diese Methode verwenden Sie, um herauszufinden, ob sich die Session im Adminmodus oder im normalen Benutzermodus befindet.
Exceptions
Zu dieser Methode existieren keine Exceptions.
Fragt ab, ob sich die Session im Hauptadministratormodus befindet.
Syntax
let mainAdmin = sc.mainAdmin;
Parameter
Zu dieser Eigenschaft existieren keine Parameter.
Beispiel
/* global sc */ let mainAdmin = sc.mainAdmin; mainAdmin;
Rückgabewerte
Sie erhalten einen booleschen Wert zurück.
Wert | Beschreibung |
---|---|
true | Die Session befindet sich im Hauptadministratormodus. |
false | Session befindet sich nicht im Hauptadministratormodus. |
Verwendung
Diese Eigenschaft verwenden Sie, um herauszufinden, ob sich die Session im Hauptadministratormodus befindet.
Exceptions
Zu dieser Eigenschaft existieren keine Exceptions.
Nimmt die aktuelle Sitzung und erzeugt einen temporären SessionController, bei dem der Adminmodus aktiviert ist.
Syntax
let asAdmin = sc.asAdmin();
Parameter
Zu dieser Methode existieren keine Parameter.
Beispiel
/* global sc */ let asAdmin = sc.asAdmin(); // load objects library with this new admin session let objectsAdmin = require('common/objects').sc(asAdmin); // Work with the objects library as admin e.g. to create the folder "Testordner" under "Eigene Dateien" of the user objectsAdmin = objectsAdmin.find('home:myFiles/Testordner:create');
Rückgabewerte
Diese Methode liefert keine Werte zurück.
Verwendung
Diese Methode verwenden Sie, wenn Sie etwas mit dem aktuell angemeldeten Benutzer durchführen wollen, dessen Rechte aber nicht ausreichen.
Exceptions
Zu dieser Methode existieren keine Exceptions.
Nimmt die aktuelle Sitzung und erzeugt einen temporären SessionController, bei dem der Servicemodus aktiviert ist.
Beim Servicemodus:
und den lastModifier nicht, wenn ein Objekt aktualisiert wird
Syntax
let asService = sc.asService();
Parameter
Zu dieser Methode existieren keine Parameter.
Beispiel
/* global sc */ let asService = sc.asService(); // load objects library with this new session let objectsService = require('common/objects').sc(asService); // Mit der objects-Bibliothek im Servicemodus weiterarbeiten, um etwa einen Benutzer zu aktualisieren, ohne das lastModifyDate zu ändern. objectsService = objectsService.update('user', objects.find('user:USERNAME'), { name: 'testuser', password: 'testpass', admin: false, givenName: 'Test', familyName: 'User', language: 'de', emailAddresses: [ 'testuser@agorum.com' ] });
Rückgabewerte
Sie erhalten den erzeugten SessionController zurück.
4615452
Verwendung
Diese Funktion verwenden Sie, wenn Sie mit Objekten arbeiten und wünschen, dass das System:
Exceptions
Zu dieser Methode existieren keine Exceptions.
Nimmt die aktuelle Sitzung und erzeugt einen temporären SessionController, bei dem das System den aktuellen Benutzer auf den angegebenen Benutzer ändert.
Syntax
let asUser = sc.asUser(user);
Parameter
Parameter | Beschreibung | Pflicht | Standard-Wert | Weitere Informationen |
---|---|---|---|---|
user | Definiert den Benutzer, mit dem Sie in der aktuellen Sitzung weiterarbeiten möchten. Wenn Sie den Benutzer anhand des Namens suchen wollen, verwenden Sie objects.find. |
ja | – | Beispiel |
/* global sc */ let objects = require('common/objects'); let asUser = sc.asUser(objects.find('user:demo')); // load objects library with this new session let objectsUser = require('common/objects').sc(asUser); // Work with the objects library as "demo" user e.g. to create the folder "Testordner" under "Eigene Dateien" of the user objectsUser = objectsUser.find('home:myFiles/Testordner:create');
Für Beispiele zum Suchen von Objekten siehe JavaScript-Bibliothek common/objects.
Rückgabewerte
Sie erhalten den erzeugten SessionController zurück.
4615452
Verwendung
Diese Methode verwenden Sie, wenn Sie etwa im Namen eines anderen Benutzers mit agorum core arbeiten möchten.
Exceptions
Zu dieser Methode existieren keine Exceptions.
Fragt das Benutzerobjekt zu einer E-Mail-Adresse ab.
Syntax
let user = sc.getDirectoryUserFromEmailAddress('string');
Parameter
Parameter | Beschreibung | Pflicht | Standard-Wert | Weitere Informationen |
---|---|---|---|---|
string | Definiert die E-Mail-Adresse. | ja | – | Beispiel |
/* global sc */ let user = sc.getDirectoryUserFromEmailAddress('demo@agorumcore.com'); user;
Rückgabewerte
Sie erhalten das Benutzerobjekt zurück, zu dem die angegebene E-Mail-Adresse zugeordnet ist.
1025764
Verwendung
Diese Methode verwenden Sie, wenn Sie zu einer E-Mail-Adresse den zugeordneten Benutzer erfahren möchten.
Exceptions
Zu dieser Methode existieren keine Exceptions.
Erzeugt für die gegebene Kombination aus Benutzer-/Benutzergruppenobjekt, Berechtigung und Suffix eine entsprechende ACL oder gibt die zugehörige ACL zurück, wenn sie bereits existiert.
Syntax
let acl = sc.getEntityAcl(userOrGroup, permissions, prefix);
Parameter
Parameter | Beschreibung | Pflicht | Standard-Wert |
---|---|---|---|
userOrGroup | Definiert den Benutzer oder die Benutzergruppe, für die das System die ACL zurückgibt. | ja | – |
permissions | Definiert eine Zeichenkette mit der Angabe, welche Berechtigungen das System setzt. Mögliche Werte
|
ja | – |
prefix | Definiert eine Bezeichnung, die das System zur Kennzeichnung der ACL verwendet. Häufig ist das der Name des Kontexts (Paket, Modul), in dem Sie diese einsetzen möchten. |
ja | – |
Beispiel
Dieses Beispiel zeigt die Anwendung der Methode, um eine ACL für den Benutzer demo im Kontext von my_package_ zurückzuliefern, die ihm Leserechte gewährt.
/* global sc */ let objects = require('common/objects'); let user = objects.find('user:demo'); let acl = sc.getEntityAcl(user, 'READ', 'my_package_'); acl;
Rückgabewerte
Sie erhalten das ACL-Objekt zurück, das auf die übergebene Beschreibung passt.
Verwendung
Diese Methode verwenden Sie, wenn Sie für einen gegebenen Benutzer/eine gegebene Benutzergruppe eine ACL benötigen, die ihm ein bestimmtes Recht gibt.