user()

Gibt die detaillierten Attribute eines einzelnen Benutzerkontos anhand des Benutzernamens zurück. Im Gegensatz zu users() liefert diese Methode vollständige Kontoinformationen inkl. Login-Statistik, Passwort-Ablauf und MFA-Konfiguration.

1. Signatur

  • Sync

  • Async

ecm.security.user(username: str) -> ECMUserAttributes | None
await ecm.security.user(username: str) -> ECMUserAttributes | None

2. Parameter

Parameter Standard Beschreibung

username

Interner Benutzername (z.B. "ROOT"). Nicht die GUID.

3. Rückgabewert

ECMUserAttributes-Instanz, oder None wenn der Benutzer nicht gefunden wurde.

3.1. ECMUserAttributes-Felder

Feld Typ Beschreibung

id

int

Numerische Benutzer-ID.

username

str

Kurzer interner Benutzername.

login_name

str

Anmeldename für die Authentifizierung.

display_name

str

Vollständiger Anzeigename.

email

str

E-Mail-Adresse.

guid

str

Globally Unique Identifier des Benutzerkontos.

profile_id

int

Profil-ID: -1 = kein Profil.

locked

bool

True wenn das Konto gesperrt ist.

remark

str

Optionale Bemerkung.

account_type

int

Kontotyp-Kennung.

flags

int

Bit-Feld mit Benutzer-Flags.

lang_id

int

Sprach-ID des Benutzers. 0 = Server-Standard.

login_count

int

Anzahl der bisherigen Anmeldungen.

login_station

str

Name der Station der letzten Anmeldung.

login_time

datetime | None

Zeitpunkt der letzten Anmeldung. None wenn noch nie angemeldet.

last_modified

datetime | None

Zeitpunkt der letzten Kontoänderung.

mfa_flag

int

Multi-Faktor-Authentifizierungs-Flag.

never_expire

bool

True wenn das Konto unabhängig von valid_to nie abläuft.

change_pwd

bool

True wenn der Benutzer beim nächsten Login sein Passwort ändern muss.

pwd_changed

datetime | None

Zeitpunkt der letzten Passwortänderung. None wenn noch nie geändert.

server_id

int

ID des Home-Servers dieses Kontos.

station

str

Standard-Stationsname des Benutzers.

supervisor_id

int

Benutzer-ID des Vorgesetzten. -1 wenn kein Vorgesetzter zugewiesen.

valid_from

datetime | None

Gültig-ab-Datum.

valid_to

datetime | None

Gültig-bis-Datum.

4. Beispiele

4.1. Benutzer laden und Attribute ausgeben

  • Sync

  • Async

user = ecm.security.user("john")
if user:
    print(user.display_name, user.email, user.guid)
    print(f"Letzte Anmeldung: {user.login_time}")
    print(f"Anmeldezähler: {user.login_count}")
    if user.locked:
        print("Konto ist gesperrt")
user = await ecm.security.user("john")
if user:
    print(user.display_name, user.email, user.guid)
    print(f"Letzte Anmeldung: {user.login_time}")

4.2. GUID für user_groups() ermitteln

  • Sync

  • Async

user = ecm.security.user("john")
if user:
    groups = ecm.security.user_groups(user.guid)
    print([g.name for g in groups])
user = await ecm.security.user("john")
if user:
    groups = await ecm.security.user_groups(user.guid)
    print([g.name for g in groups])

5. Siehe auch