Fermer

novembre 26, 2022

Migration de mot de passe dans Drupal 9 à partir de Drupal 7, WordPress et CMS personnalisé

Migration de mot de passe dans Drupal 9 à partir de Drupal 7, WordPress et CMS personnalisé


La migration de mot de passe fait essentiellement partie de la migration de site Web. Nous pouvons très facilement migrer du contenu, des images, des documents, des catégories et d’autres contenus, car ils sont presque simples. Lors de la migration, nous sélectionnons le contenu de la source et le plaçons dans une destination appelée approche lift-and-shift. Dans Drupal 9, la migration des mots de passe est un peu délicate en raison des différents algorithmes de chiffrement utilisés dans chaque application.

Dans cet article, je vais décrire comment vous pouvez migrer les types de mots de passe suivants vers Drupal 8, Drupal 9 et Drupal 10+ :

  • Algorithme de hachage MD5
  • Hachage Phpass portable
  • Algorithme de mot de passe personnalisé
  • Migration de mot de passe simple

Prérequis : Vous devez avoir des connaissances sur la migration Drupal.

Algorithme de hachage MD5 :

Algorithme de mot de passe MD5 utilisé dans Drupal 5, Drupal 6, Drupal 7, osCommerce, SuiteCRM, miniBB, SugarCRM et etc.

Les hachages de mot de passe MD5 doivent être migrés vers Drupal 8+ en utilisant le md5_passwords : vrai option de configuration afin que les utilisateurs puissent utiliser leurs anciens mots de passe. Les mots de passe sont salés et re-hachés avant d’être enregistrés dans la base de données Drupal 8+. L’identifiant de l’identifiant de mot de passe migré md5 U$. Lorsque l’utilisateur se connecte à votre site Drupal pour la première fois, Drupal refasse le mot de passe.

Créez un module personnalisé custom_migrate dans le dossier modules/custom/ avec tous les fichiers de base requis.

1. Fichier de configuration du groupe de migration : web/modules/custom/custom_migrate/config/install/migrate_plus.migration_group.md5hash.yml

2. Fichiers de configuration de la migration : web/modules/custom/custom_migrate/config/install/migrate_plus.migration.md5_hash.yml

Hachages Phpass portables :

phpass (prononcé « pH pass ») est un cadre de hachage de mot de passe du domaine public portable à utiliser dans les applications PHP. Phpass a été intégré dans WordPress 2.5+ 2, bbPress 3, Vanilla 4, phpBB3 8 et Joomla à partir des versions 2.5.18 et 3.2.1.

Les hachages de mots de passe générés avec Phpass ressemblent à ceci : $P$B4J4RkvSe3QowfF/v6oHionn8CyW.a. La $P$ est ce qu’on appelle l’identifiant de type de hachage qui indique que le hachage est un hachage Phpass portable. La chaîne après cela se compose de sel et d’un hachage. La les hachages Phpass portables peuvent être migrés vers Drupal 8 tels quels. Lorsque l’utilisateur se connecte à votre site Drupal 8 pour la première fois, Drupal refasse le mot de passe.

1. Fichier de configuration du groupe de migration : web/modules/custom/custom_migrate/config/install/migrate_plus.migration_group.portable_phpass.yml

Migration de l'algorithme de hachage Phpass portable

2. Fichiers de configuration de la migration : web/modules/custom/custom_migrate/config/install/migrate_plus.migration.portable_phpass.yml

Migration de l'algorithme de hachage Phpass portable

Algorithme de mot de passe personnalisé :

Si les mots de passe du système source sont hachés avec un autre algorithme, il est possible d’ajouter la prise en charge de ces hachages en étendant le service de mot de passe principal de Drupal. Lorsque l’utilisateur essaie de se connecter, la vérification du hachage du mot de passe est effectuée dans PhpassHashedPassword ::check(). Comme vous pouvez le voir, il existe une gestion pour différents types de hachage, qui sont identifiés par des identifiants de type de hachage tels que U$, $S$, $P$ et $H$. Vous pouvez ajouter la gestion de vos hachages hérités, à condition que vous connaissiez l’algorithme qui a été utilisé pour générer les hachages dans votre système source. Vous devrez préfixer les anciens hachages avec un identifiant de type de hachage spécial.

1. Fichier de configuration du groupe de migration : web/modules/custom/custom_migrate/config/install/migrate_plus.migration_group.custom_hash.yml

Migration de l'algorithme de hachage personnalisé Drupal 9.

2. Fichiers de configuration de la migration : web/modules/custom/custom_migrate/config/install/migrate_plus.migration.sha512_hash.yml

Migration de l'algorithme de hachage personnalisé Drupal 9.

3. Fichier de plug-in source de migration web/modules/custom/custom_migrate/src/Plugin/migrate/source/Sha512Hash.php

Migration de l'algorithme de hachage personnalisé Drupal 9.

4. Remplacer le fichier de service web/modules/custom/custom_migrate/custom_migrate.services.yml

Migration de mot de passe dans Drupal 9 à partir de Drupal 7, WordPress et CMS personnalisé.

5. Créez un fichier de classe dans web/modules/custom/custom_migrate/src/Services/CustomMigratePasswordService.php

Migration de mot de passe dans Drupal 9 à partir de Drupal 7, WordPress et CMS personnalisé.

Migration de mot de passe simple :

Si les mots de passe sont en texte brut dans la source, vous pouvez conserver les mots de passe en les traitant via md5 pendant la migration à l’aide du plug-in de processus de rappel, puis à l’aide du md5_passwords : vrai option de configuration dans le fichier yml, identique à l’algorithme de mot de passe MD5.

TROUVÉ CELA UTILE ? PARTAGEZ-LE




Source link