Drupal-Passwortmigration nach Discourse mit dem discourse-migrate-password-Plugin

  1. Plugin installieren und aktivieren:
    • Installieren Sie zunächst das Discourse Migrate Password-Plugin über den folgenden Link:

Discourse Migrate Password Plugin

  • Sobald es installiert ist, aktivieren Sie das Plugin in Ihren Discourse-Einstellungen. Dies ermöglicht die Migration unsicherer Passwörter in Discourse.

  1. Benutzerdefiniertes Feld erstellen:
    • Navigieren Sie in Discourse zu den Einstellungen für die Benutzeranpassung.
    • Erstellen Sie hier ein benutzerdefiniertes Feld mit dem Namen „import_pass“.

  1. Benutzer importieren:

    • Importieren Sie einen oder mehrere Benutzer mit Ihrer bevorzugten Methode in Discourse.
    • Stellen Sie während des Importvorgangs sicher, dass Sie für jeden Benutzer einen Hash-String im Feld „import_pass“ angeben.
  2. Anmeldeversuch:

    • Versuchen Sie, sich bei Discourse mit einer Kombination aus dem importierten Benutzernamen und dem Hash-String anzumelden.
    • Möglicherweise erhalten Sie jedoch eine Fehlermeldung wie „Falscher Benutzername und falsches Passwort“.

  1. Standardanmeldung:
    • Alternativ können Sie sich erfolgreich bei Discourse anmelden, indem Sie den Benutzernamen und das Passwort verwenden, die mit dem Konto verknüpft sind.

Bitte teilen Sie mir eine Lösung mit, um dieses Plugin in Discourse für die Migration von Drupal-Passwörtern nach Discourse zu verwenden.
@Discourse

1 „Gefällt mir“

Um Drupal-Unterstützung für importierte Benutzer zu haben, ist es notwendig, die vorhandenen Drupal-Importer zu ändern, damit sie das Feld import_pass füllen. Der Basis-Importer unterstützt dies, sodass Sie nur das entsprechende Datenbankfeld in die Struktur einspeisen müssen, die Sie an create_users mit dem Schlüssel password übergeben. Zum Beispiel tut dies der VBulletin-Importer hier.

Für die Drupal-Importer ist das hier und hier.

Schritt 2 ist etwas, das nicht erforderlich oder notwendig ist und niemals sein wird. Woher haben Sie das?

Sie sollten das Plugin NACH dem Import aktivieren und während des Imports deaktiviert lassen.

Die richtigen Schritte sind also:

  • Benutzer importieren
  • Plugin installieren und aktivieren
2 „Gefällt mir“

Im Rahmen unserer Diskussion schätze ich Ihr wertvolles Feedback zur vorherigen Anfrage. Ich möchte jedoch das Thema untersuchen, wie die Funktionalität meines Plugins getestet werden kann, um festzustellen, ob es korrekt funktioniert. Ich habe die Installationsschritte wie beschrieben befolgt, stoße jedoch auf Probleme, da es nicht zu reagieren scheint. Ich bin mir nicht sicher, wie ich überprüfen kann, ob es das Skript ordnungsgemäß auslöst. Insbesondere möchte ich verstehen, wie überprüft wird, ob die anfängliche Passwortwahl des Benutzers nicht leer oder falsch ist, bevor das Plugin-Skript ausgeführt wird.

Ich wäre Ihnen sehr dankbar, wenn Sie mir weitere Einblicke in diese Angelegenheit geben könnten. Vielen Dank im Voraus für Ihre Hilfe.

Das Plugin funktioniert, indem es die Methode confirm_password? der User-Klasse überschreibt.
Es ruft zuerst die ursprüngliche Passwortprüfung auf und tut nichts, wenn das Passwort von der Kernlogik von Discourse akzeptiert wird.

Wenn dies nicht der Fall ist, prüft es, ob der Benutzer ein benutzerdefiniertes Feld import_pass hat, und wenn ja, verwendet es alle verfügbaren Algorithmen, um das eingegebene Passwort gegen den import_pass-Hash zu prüfen.

Wenn eine Übereinstimmung gefunden wird, speichert es das eingegebene Passwort als Passwort für den Benutzer und ermöglicht dem Benutzer die Anmeldung.

3 „Gefällt mir“

Ich habe einen PR erstellt, der Unterstützung für Drupal 6-Hashes hinzufügt, die zu Drupal 7 migriert wurden.

Dies könnte der Grund sein, warum die Anmeldeinformationen als ungültig betrachtet wurden, wie in diesem Thema beschrieben.

1 „Gefällt mir“