Importieren von Benutzerkonten mit Passwort

Beim Import eines Benutzerkontos (s. Benutzer) kann das Passwort über einen im Mapping des Importprofils definierten Klartext festgelegt werden.

Bei der Zuweisung an das Passwort-Attribut-Feld (passwordHash_attr) des User-Objekts muss der Text "plain:" vorangestellt werden, damit die direkt nachfolgende eigentliche Passwort-Zeichenfolge beim Import verschlüsselt wird.

ACHTUNG

  • Ohne das Präfix "plain:" würde die zugewiesene Zeichenfolge als bereits verschlüsselter Wert betrachtet und direkt übernommen. Dann funktioniert die Eingabe der zugewiesenen Zeichenfolge bei der Anmeldung natürlich nicht.

  • Da eine "leere Zeichenfolge" (im Unterschied zu einem Leerzeichen) als Passwort nicht zulässig ist, scheitert der Import für ein Benutzerkonto, falls dem Passwort-Attribut-Feld (passwordHash_attr) nur die Zeichenfolge "plain:" zugewiesen wird.

Beispiel

Ein Profil, dem als Quellstruktur der Benutzername (username) eines bestehenden Benutzerkontos übergeben wird, soll die betreffenden Benutzer einerseits "Aktiv" setzen und andererseits deren Passwort "zurücksetzen", indem der Benutzername als (Initial-)Passwort zugewiesen wird.

Der folgende Screenshot zeigt das erforderliche Mapping für einen Single-Import, in dem die concat()-Funktion das Präfix plain: mit dem username aus dem verknüpften Quellfeld zu verkettet:

images/download/attachments/58596111/image2020-9-25_14-1-45-version-1-modificationdate-1601035306994-api-v2.png

►HINWEISE◄

  • Das zurückzusetzende Benutzerkonto wird im hier nicht aufgeklappten search-Knoten (s. a. XML-Beispiel unten) ebenfalls über den username identifiziert (Details s. Single-Import).

  • Falls mehrere Benutzernamen über dieselbe Quelldatei zurückgesetzt werden sollen, muss ein Batch-Import verwendet werden.

Laufzeit-Beispiel

Für einen Benutzernamen TEST ergibt das Profil den folgenden Import:

?xml version="1.0" encoding="UTF-8"?>
<core:Import ... action="UPDATE">
<search>
<core:SimplePropertySearch projection="username" compareType="==" stringValue="TEST"></core:SimplePropertySearch>
</search>
<base:User active="true" passwordHash="plain:TEST">
</base:User>
</core:Import>
  • Der Benutzer TEST kann sich anschließend mit dem Passwort TEST einloggen, sofern das Konto bereits existierte.