Pour avoir la prise en charge de Drupal pour les utilisateurs importés, il est nécessaire de modifier les importateurs Drupal existants afin qu’ils remplissent le champ import_pass. L’importateur de base le prend en charge, il vous suffit donc de fournir le champ de base de données applicable à la structure que vous fournissez à create_users avec la clé password. Par exemple, l’importateur VBulletin le fait ici.
Dans le contexte de notre discussion, j’apprécie vos précieux commentaires concernant la requête précédente. Cependant, je souhaite explorer le sujet de la manière de tester la fonctionnalité de mon plugin pour déterminer s’il fonctionne correctement. J’ai suivi les étapes d’installation décrites, mais je rencontre des problèmes car il ne semble pas réactif. Je ne suis pas sûr de la manière de vérifier s’il déclenche le script de manière appropriée. Plus précisément, j’aimerais comprendre le processus par lequel il vérifie si le choix initial du mot de passe de l’utilisateur n’est pas vide ou incorrect avant de procéder à l’exécution du script du plugin.
J’apprécierais grandement si vous pouviez me fournir des informations supplémentaires à ce sujet. Je vous remercie d’avance de votre aide.
Le plugin fonctionne en remplaçant la méthode confirm_password? de la classe User.
Il appelle d’abord la vérification du mot de passe d’origine et ne fait rien lorsque le mot de passe est accepté par la logique principale de Discourse.
Si ce n’est pas le cas, il vérifie si l’utilisateur a un champ personnalisé import_pass et, si c’est le cas, il utilise tous les algorithmes disponibles pour vérifier le mot de passe saisi par rapport au hachage import_pass.
S’il trouve une correspondance, il enregistre le mot de passe saisi comme mot de passe de l’utilisateur et autorise l’utilisateur à se connecter.