Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core JavaScript-API


SessionController(sc)

Mithilfe dieser Java-Klasse fragen Sie diverse Kontexte zur Session des aktuell angemeldeten Benutzers ab.

Der SessionController ist eine Variable (sc), die in jedem Skript zur Verfügung steht.

Syntax


Die Session des angemeldeten Benutzers ist als globale Variable verfügbar und trägt den Namen sc.

  1. 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.
  • sca können Sie für Aktionen verwenden, für die der angemeldete Benutzer nicht berechtigt ist.
  • Wenn Sie sca setzen, verwendet das System den Super-Administrator roi.

Methoden


loginUser

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

Zu dieser Methode existieren keine 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.

loginUserUuid

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.

locale

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.

adminEnabled

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.

asAdmin()

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();

// objects-Bibliothek mit dieser neuen Session laden
let objectsAdmin = require('common/objects').sc(asAdmin);

// Mit der objects-Bibliothek als Admin weiterarbeiten, um etwa den Ordner "Testordner" unter "Eigene Dateien" des Benutzers zu erstellen
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.

asService()

Nimmt die aktuelle Sitzung und erzeugt einen temporären SessionController, bei dem der Servicemodus aktiviert ist.

Beim Servicemodus:

  • verändert das System das lastModifyDate und den lastModifier nicht, wenn ein Objekt aktualisiert wird
  • legt das System keine Historie an, wenn ein Objekt geändert wird


Syntax

let asService = sc.asService();


Parameter

Zu dieser Methode existieren keine Parameter.


Beispiel

/* global sc */
let asService = sc.asService();

// objects-Bibliothek mit dieser neuen Session laden
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:

  • beim Update eines Objekts das lastModifyDate und den lastModifier nicht verändert
  • beim Ändern eines Dokuments keine Historie anlegt


Exceptions

Zu dieser Methode existieren keine Exceptions.

asUser(user)

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


Beispiel

/* global sc */
let objects = require('common/objects');
let asUser = sc.asUser(objects.find('user:demo'));

// objects-Bibliothek mit dieser neuen Session laden
let objectsUser = require('common/objects').sc(asUser);

// Mit der objects-Bibliothek als Benutzer "demo" weiterarbeiten, um etwa den Ordner "Testordner" unter "Eigene Dateien" des Benutzers zu erstellen
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.

getDirectoryUserFromEmailAddress

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


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.

getEntityAcl

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
  • ALL
  • READ
  • CHECK_OUT
  • WRITE
  • PROTECTED
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.

SessionController(sc) in Bibliotheken verwenden


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: