create_user()
Legt einen neuen Benutzer auf dem ECM-Server an.
Server-vergebene Felder (id, guid) werden im Rückgabewert zurückgeliefert.
|
Empirisch ist nur
|
1. Signatur
-
Sync
-
Async
ecm.security.create_user(
username: str,
*,
login_name: str | None = None,
display_name: str = "",
email: str = "",
remark: str = "",
password: str = "",
plain_password: bool = False,
profile_id: int = -1,
locked: bool = False,
supervisor: bool = False,
account_type: int = 0,
flags: int = 0,
lang_id: int = 0,
server_id: int = 0,
valid_from: datetime | None = None,
valid_to: datetime | None = None,
change_pwd: bool = False,
never_expire: bool = False,
) -> ECMUserAttributes
await ecm.security.create_user(...) -> ECMUserAttributes
2. Parameter
| Parameter | Standard | Beschreibung |
|---|---|---|
|
— |
Interner Benutzername (Attribut |
|
|
Anmeldename. Standard: gleicher Wert wie |
|
|
Vollständiger Anzeigename. |
|
|
E-Mail-Adresse. |
|
|
Bemerkung. |
|
|
Klartext-Passwort. Wird vor dem Senden automatisch mit |
|
|
Wenn |
|
|
Wenn |
|
|
Wenn |
|
|
|
|
|
Konto initial gesperrt. |
|
|
Supervisor-Rechte vergeben (XML-Wert |
|
|
|
|
|
|
|
|
Sprach-ID; |
|
|
ID des Home-Servers. |
|
|
Gültig-ab-Zeitpunkt. |
|
|
Gültig-bis-Zeitpunkt. |
4. Fehler
-
ECMException(oder Unterklasse) – wenn der Server die Anlage ablehnt, z.B. bei doppeltem Benutzernamen.
5. Beispiele
5.1. Minimaler Aufruf
-
Sync
-
Async
user = ecm.security.create_user("john", display_name="John Doe", email="j@x.de")
print(user.guid, user.id)
user = await ecm.security.create_user("john", display_name="John Doe")
5.2. Befristetes Konto mit Supervisor-Rechten
from datetime import datetime
user = ecm.security.create_user(
"contractor1",
display_name="External Contractor",
email="c@partner.de",
supervisor=True,
valid_from=datetime(2026, 1, 1),
valid_to=datetime(2026, 12, 31, 23, 59, 59),
)
5.3. Klartext-Passwort (empfohlen)
user = ecm.security.create_user("john", password="S3cret!")
# Der Benutzer kann sich mit "S3cret!" anmelden — die Kodierung läuft automatisch.
5.4. ECMIND_KEY-verschlüsseltes Passwort
Ist die Umgebungsvariable ECMIND_KEY gesetzt, kann das Passwort base85-XOR-verschlüsselt
übergeben werden — password_reveal() entschlüsselt es transparent vor der Blue-Kodierung:
import os
os.environ["ECMIND_KEY"] = "shared-key"
# Nehmen wir an, "ENCRYPTED..." wurde mit ECMIND_KEY verschlüsselt:
user = ecm.security.create_user("john", password="ENCRYPTED...")
5.5. Einmalpasswort (Server muss konfiguriert sein)
user = ecm.security.create_user(
"john",
password="S3cret!",
plain_password=True,
change_pwd=True,
)
# Mit plain_password=True wird das Passwort ohne clientseitige Kodierung
# gesendet — der Server kodiert es selbst und der Benutzer muss es beim
# ersten Login ändern.
6. Siehe auch
-
update_user() – Eigenschaften ändern
-
delete_user() – Konto löschen
-
add_user_to_group() – Gruppenzuordnung
-
user() – Detailattribute lesen