Wenn ein Administrator ein neues Konto erstellt (admin / people / create), wird er aufgefordert, ein Kennwort für das Konto einzugeben. Mein Kunde möchte, dass der Administrator beim Erstellen eines Kontos im Back-End kein Kennwort eingeben muss, der Benutzer jedoch eine Benachrichtigung mit einem einmaligen Anmeldelink erhält und dann ein Kennwort festlegen kann Passwort nach dem Einloggen damit. Was ist der beste Weg, um so etwas zu erreichen?
Ich habe darüber nachgedacht, das Formular zu ändern, um die #default_value
Kennwortfelder auf ein zufälliges Kennwort zu setzen und dann festzulegen '#access' => FALSE
, aber ich bin mir nicht sicher, ob dies der beste Weg ist.
hook_init()
umdrupal_add_css()
auf jeder Seite zu laden ... es ist auch Kern des duplizierenuser_password()
. Besteht den Geruchstest nicht.user_password(mt_rand(10, 50))
oder ähnlichem beim Senden des Formulars.Wenn Sie das Modul "Passwort generieren" nicht installieren möchten und mit Hooks vertraut sind, finden Sie hier eine Alternative:
Sie könnten es nach Ihrem Geschmack raffinierter machen. In der jetzigen Form wird das Kennwortfeld immer ausgeblendet und stattdessen ein Wert angegeben. Der Administrator muss das neue Konto bearbeiten, um einen bestimmten Wert festzulegen. Außerdem bleibt die Standardeinstellung "Benachrichtigen" deaktiviert, während Sie möglicherweise "Ein" bevorzugen.
Aktualisiert gemäß der Antwort von @joe_flash (jedoch in etwas kompakterer Form): Das Kennwortfeld wird bei der Verarbeitung des Elements in zwei Unterfelder ("pass1" und "pass2") erweitert.
quelle
Die Antwort von AdamS ist fast da. Da das Kennwortfeld bei der Verarbeitung des Elements (
form_process_password_confirm()
) in zwei Unterfelder ("pass1" und "pass2") erweitert wird , benötigen Sie Folgendes :quelle