Migrazione password Drupal in Discourse con il plugin discourse-migrate-password

  1. Installa e Abilita il Plugin:
    • Inizia installando il plugin Discourse Migrate Password dal seguente

Plugin Discourse Migrate Password
link:
(discourse-migratepassword/plugin.rb at master · communiteq/discourse-migratepassword · GitHub).

  • Una volta installato, abilita il plugin nelle impostazioni di Discourse. Questo consente la migrazione di password insicure in Discourse.

  1. Crea un Campo Personalizzato:
    • All’interno di Discourse, naviga nelle impostazioni di personalizzazione dell’utente.
    • Qui, crea un campo personalizzato denominato “import_pass”.

  1. Importa Utenti:

    • Procedi all’importazione di uno o più utenti in Discourse utilizzando il tuo metodo preferito.
    • Durante il processo di importazione, assicurati di includere una stringa hash nel campo “import_pass” per ogni utente.
  2. Tentativo di Accesso:

    • Tenta di accedere a Discourse utilizzando una combinazione del nome utente importato e della stringa hash.
    • Tuttavia, potresti incontrare un messaggio di errore che indica “Nome utente e password errati”.

  1. Accesso Standard:
    • In alternativa, puoi accedere con successo a Discourse utilizzando il nome utente e la password associati all’account.

Per favore, condividi una soluzione per utilizzare questo plugin in Discourse per migrare le password di Drupal in Discourse
@Discourse

1 Mi Piace

Per avere il supporto di Drupal per gli utenti importati, è necessario modificare gli importatori Drupal esistenti in modo che compilino il campo import_pass. L’importatore di base ha il supporto per questo, quindi tutto ciò che devi fare è fornire il campo del database applicabile alla struttura che fornisci a create_users con la chiave password. Ad esempio, l’importatore VBulletin lo fa qui.

Per gli importatori Drupal, questo è qui e qui.

Il passaggio 2 è qualcosa che non è e non sarà mai richiesto o necessario. Da dove l’hai preso?

Dovresti abilitare il plugin DOPO l’importazione e lasciarlo disabilitato durante l’importazione.

Quindi i passaggi corretti sono:

  • importa gli utenti
  • installa e abilita il plugin
2 Mi Piace

Nel contesto della nostra discussione, apprezzo il tuo prezioso feedback riguardo alla query precedente. Tuttavia, sono interessato a esplorare l’argomento su come testare la funzionalità del mio plugin per determinare se sta funzionando correttamente. Ho seguito i passaggi di installazione come descritto, ma sto riscontrando problemi poiché non sembra essere reattivo. Non sono sicuro su come verificare se sta attivando lo script in modo appropriato. Nello specifico, vorrei capire il processo mediante il quale verifica se la scelta iniziale della password dell’utente non è vuota o errata prima di procedere all’esecuzione dello script del plugin.

Ti sarei molto grato se potessi fornirmi ulteriori approfondimenti su questo argomento. Ti ringrazio in anticipo per il tuo aiuto.

Il plugin funziona sovrascrivendo il metodo confirm_password? della classe User.
Per prima cosa chiama il controllo della password originale e non fa nulla quando la password viene accettata dalla logica principale di Discourse.

Se non è così, controlla se l’utente ha un campo personalizzato import_pass e, in caso affermativo, utilizza tutti gli algoritmi disponibili per verificare la password inserita rispetto all’hash import_pass.

Se trova una corrispondenza, salva la password inserita come password per l’utente e consente all’utente di accedere.

3 Mi Piace

Ho creato una PR che aggiunge il supporto per gli hash di Drupal 6 migrati a Drupal 7.

Questo potrebbe essere il motivo per cui le credenziali sono state considerate non valide come descritto in questo argomento.

1 Mi Piace