it-swarm.com.de

Kann die Passwortwiederherstellungsfunktion von Drupal so konfiguriert werden, dass nur E-Mail-Adressen abgefragt werden?

(Ich ursprünglich stellte diese Frage in webapps.stackexchange.com .)

Wenn wir in Drupal ein Formular zum Festlegen eines neuen Passworts bereitstellen, werden Sie standardmäßig nach einem Site-Benutzernamen oder einer E-Mail-Adresse gefragt. Wenn der Benutzer einen Benutzernamen oder eine E-Mail-Adresse angibt, die einem gültigen Konto zugeordnet ist, erhält er eine E-Mail (an dieser Adresse) mit einem Link, über den er ein neues Passwort festlegen kann.

Wir möchten sicherstellen, dass alle unsere Benutzer eine aktuelle E-Mail-Adresse verwenden, und zu diesem Zweck möchten wir die Funktion deaktivieren Geben Sie einen Benutzernamen ein. Wenn der Benutzer einen Benutzernamen eingibt, sendet er möglicherweise eine Nachricht an eine alte E-Mail-Adresse, gibt jedoch den Hinweis "Wir senden Ihnen eine E-Mail" an den Benutzer zurück. Wenn sie eine E-Mail-Adresse eingeben, die wir nicht haben, erhalten sie eine Fehlermeldung, in der sie darauf hingewiesen werden, dass sie uns nicht auf dem Laufenden gehalten haben (und sie werden per E-Mail mit uns in Kontakt treten).

Können wir das einschränken, um nur nach E-Mails zu fragen?

2
pjmorse

Wenn Sie fragen, ob dies im administrativen Backend konfiguriert werden kann, können Sie dies nicht tun. Die entsprechende Funktionalität ist derzeit in ser_pass_validate () fest programmiert.

Sie wissen jedoch wahrscheinlich bereits, dass eine der Stärken von Drupals die relative Leichtigkeit ist, mit der es programmgesteuert angepasst oder über Module erweitert werden kann. Mir ist nicht bekannt, dass ein vorhandener Server genau dies tut (obwohl einer vorhanden sein könnte eventuell, die entsprechende Liste in Bezug auf Benutzerzugriff/Authentifizierung ist ziemlich umfangreich), aber hier ist sie Was ein Entwickler tun könnte:

  1. Anpassen und Überschreiben der Benutzeranmeldeseite, Registrieren und Zurücksetzen des Passworts in Dr pal 6

    • Hier geht es um die Benutzeroberfläche, dh das Befolgen der Erklärung und das Bereitstellen von alternativen Formularen nach Bedarf (siehe Form API Quickstart Guide ) würde es ermöglichen, den Hinweis auf die Eingabe des Benutzernamens bereits zu entfernen, obwohl es könnte noch erfolgreich für Kenner eingegeben werden.
  2. Um tatsächlich die Möglichkeit, einen Benutzernamen einzugeben, auszuschalten, müsste die vorhandene Formularvalidierungsfunktion ser_pass_validate () mit einer benutzerdefinierten Kopie überschrieben werden, die einfach den entsprechenden Scheck überspringt, d. H Entfernen Sie den Code, mit dem versucht wird, das Konto nach Namen zu laden (siehe Abschnitt Validieren von Formularen innerhalb von Formular-API-Kurzanleitung als Ausgangspunkt).

Für eine detailliertere Antwort (d. H. Eine brauchbare Implementierung, wenn Sie Glück haben) muss ich Sie erneut auf eine andere Stack Exchange-Site verweisen: Sie können dies über das Drupal-Tag on Stack Overflow anfordern;)

2
Steffen Opel

Ich denke, dass Sie das suchen: http://drupal.org/project/email_registration

0
Adrian