Via API das letzte Logindatum eines Benutzer auslesen

Im Rahmen eines Scripts würde ich gerne das Logindatum eines Benutzers auslesen.

Leider konnte ich keine Möglichkeit dazu in der API entdecken.

EDIT:

Es gibt eine interne Klasse die genau das tut was wir brauchen:

import de.espirit.firstspirit.access.User;

import de.espirit.firstspirit.server.usermanagement.UserImpl;

User user = [...];

if (user instanceof UserImpl) {

  Date lastLogin = ((UserImpl) user).getStatistic().getLastLogin();

}

2 Comments
windmueller
Crownpeak employee
Crownpeak employee

Von der Nutzung der genannten internen Klasse raten wir dringend ab, da sich deren Struktur bzw. Funktionalität ohne Vorwarnung ändern kann.

Wir haben für das genannte Problem einen neuen API-Zugriff eingebaut, genauer gesagt einen UserStatisticsAgent mit folgender Methode:

/**

* Returns the date of the last login to the FirstSpirit server performed by this user. The time

* of the returned object will always be set to midnight.

*

* @param userId the id of the user to retrieve the login date for.

*

* @return the date of the last login or {@code null} if unknown.

*/

@Nullable

Date getLastLoginAsDate(long userId);

Aus Datenschutzgründen wird der Zeitstempel immer auf 0:00 Uhr des jeweiligen Tages gesetzt.

Der Methodenname "..AsDate" wurde gewählt, um die künftige Rückgabe eines LocalDate zu ermöglichen, sobald Java-8-Klassen in der API unterstützt  werden.

Der neue Agent wird voraussichtlich mit dem nächsten Release von FirstSpirit verfügbar sein.

MichaelaReydt
Community Manager
Community Manager

Hallo Michael,

wie Stephan bereits schrieb, wurde für die Funktionalität ein API-Zugriff eingebaut. Sie ist seit 5.2R16 verfügbar.

Viele Grüße

Michaela