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:
►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.