en-CAfr-CA

Corriger les noms d'affichage en double dans DotNetNuke

oct. 19 2014

Depuis DotNetNuke 6, il est possible d'activer une fonction pour exiger des noms d'affichage uniques. Ceci permet aux modules sociaux tels que les blogues, forums, etc. d'afficher le nom de la personne sans pour autant exposer leur vrai Nom ni leur identifiant pour le site. Si votre site utilise des fonctions sociales, il est important que ces noms soient uniques afin qu'un utilisateur ne puisse pas se faire passer pour un autre.

En activant cette fonction dans les réglages du site, les utilisateurs ne peuvent plus s'enregistrer en utilisant un nom d'affichage déjà utilisé par un autre utilisateur. Par contre, les utilisateurs peuvent toujours aller changer leur nom d'affichage par la suite dans leur profil et les administrateurs peuvent également le faire dans l'éditeur d'utilisateurs. De plus, les noms d'affichage déjà en double avant l'activation de cette fonction ne sont pas changés automatiquement. Dans cet article, je vais vous donner ce dont vous avez besoin pour régler ces deux problèmes.

Prérequis

FAITES UNE COPIE DE SAUVEGARDE de vos fichiers et de votre base de données! Cette procédure a été écrite et testée seulement avec DotNetNuke 7.3.3, je vous recommande donc de mettre votre site à jour vers cette version avant de continuer. Si vous avez l'occasion de tester cette procédure sur d'autres versions, vos résultats seront les bienvenus dans les commentaires, mais n'oubliez pas la sauvegarde avant tout.

1. Activer la fonction

Premièrement, nous allons activer la fonction qui exige les noms d'affichage uniques.

  1. Connectez-vous au site en tant qu'administrateur
  2. Naviguez vers Admin -> Réglages du site
  3. Cliquez sur l'onglet Réglages des comptes utilisateurs
  4. Dans la section Paramètres d'inscription, cochez Nom d'affichage unique requis
  5. Cliquez le bouton Mise à jour au bas de la page

Maintenant, il sera impossible à de nouveaux utilisateurs d'utiliser le même nom d'affichage qu'un autre utilisateur.

2. Corriger le problème

J'ai créé un correctif qui s'applique à la version 7.3.3 pour corriger le fait que les utilisateurs et les administrateurs peuvent toujours changer le nom d'affichage après l'enregistrement. Ceci empêchera donc aux utilisateurs existants de changer leurs noms d'utilisateurs pour un déjà utilisé. J'ai soumis un rapport de trouble DNN-5874 et le correctif 160 maintenant le correctif 177 à DotNetNuke et si tout va bien ceci devrait être réglé pour la version 7.3.4, je mettrai à jour quand ce sera faitMise à jour le 21 octobre 2014: DotNetNuke a accepté le correctif, il devrait donc faire partie de DotNetNuke 7.3.4. 24 Octobre 2014: Le correctif 160 a été refusé mais j'ai soumis un nouveau correctif, je ne suis pas certain si il va faire partie de la version 7.3.4 ou 7.4.0...

  1. Mettez DotNetNuke à jour vers la version 7.3.3 (ou tentez à vos risques et commentez ci-bas)
  2. Téléchargez le fichier PatchDNN-5874.zip
  3. Extraire le fichier dans votre répertoire racine en remplaçant les fichiers trouvés en double
  4. (optionnel, si votre site est en plusieurs langues):
    1. Naviguez vers Admin->Langues
    2. Traduisez ce qui suit:

      Fichier  Clef 
      DesktopModules/Admin/Security/App_LocalResources/EditUser.ascx.resx DisplayNameNotUnique.Text
      DesktopModules/Admin/Security/App_LocalResources/User.ascx.resx
      DisplayNameNotUnique.Text

Maintenant nous avons réglé le problème pour l'avenir, les utilisateurs ne pourront plus changer leur nom d'affichage vers un nom déjà utilisé.

3. Gérer les noms d'affichage déjà en double

Maintenant, que nous avons corrigé le problème pour le futur, il faut corriger le problème pour le passé. Vous avez peut-être plusieurs utilisateurs existants qui ont le même nom d'affichage. Pour corriger ceci, j'ai créé un petit module qui va vous afficher tous ces doublons et qui vous permettra de les renommer en un seul clic pour que seulement le premier utilisateur garde le nom d'affichage original, les autres auront un chiffre ajouté à la fin (le UserID).

  1. Téléchargez DuplicateDisplayNamesFix_00.00.01_Install.zip (la source est égalemet disponible si vous êtes un développeur DuplicateDisplayNamesFix_00.00.01_Source.zip)
  2. Installez-le comme n'importe quel module, c'est à dire: Hôte -> Extensions -> Assistant d'installation d'extensions
  3. Créez une page temporaire visible uniquement par les administrateurs (ou utilisez une page existante)
  4. Placez-y le module Duplicte Display Names Fix
  5. Le module affichera une liste si des noms en double sont utilisés ou un message si ce n'est pas le cas.
  6. Vous pouvez exporter la liste dans Excel par exemple si vous voulez contacter les utilisateurs plus tard (le courriel est affiché dans la liste)
  7. Maintenant pour renommer les utilisateurs, cliquez sur le bouton GO.
    (cette opération ne peut être annulée, soyez certain d'avoir une sauvegarde.)
  8. Si vous ne prévoyez pas réutiliser le module à l'avenir, vous pouvez maintenant le désinstaller et supprimer la page temporaire.

Vos questions ou commentaires sont les bienvenus.

Total: 2 Comment(s)
Daniel Valadas
Daniel Valadas  Update: DotNetNuke has accepted the pull request so it should be include in 7.3.4
· reply ·
Daniel Valadas
Daniel Valadas  Pull request 160 has been refused because I used the Github editor to make some minor modifications and it marked all lines changed because of the line endings that are different on windows and linux. I submitted a new pull request #177 but I am still not sure if it will be merge to Dnn 7.3.4 or 7.4.0
· reply ·

Auteur

Daniel Valadas 13114 9

Calendrier

2018 juil.  11  1
2018 juin  26  1
2018 mai  48  1
2014 oct.  3179  3
2014 juin  4935  1
2014 févr.  3437  1
2012 mars  1478  1

Publications Récentes

Premier enregistrement de la réunion de l'équipe de developement des modules Dnn
2018-07-06 12:53 | Daniel Valadas
Redynamiser les anciens modules DotNetNuke
2018-06-25 16:23 | Daniel Valadas
Comment sécuriser un site DotNetNuke avec un certificat SSL
2018-05-08 16:51 | Daniel Valadas
Prendre une liste de courriels et les séparer par des points-virgule (;)
2014-10-24 05:14 | Daniel Valadas
Solution: Les utilisateurs de DotNetNuke ne peuvent pas réinitialiser leur mot de passe
2014-10-24 03:21 | Daniel Valadas
Corriger les noms d'affichage en double dans DotNetNuke
2014-10-19 23:17 | Daniel Valadas
Créer un service web dans DotNetNuke 7
2014-06-11 13:02 | Daniel Valadas
Comment copier un site DotNetNuke vers un autre serveur
2014-02-10 10:51 | Daniel Valadas
Journée mondiale de la copie de sauvegarde
2012-03-31 13:28 | Daniel Valadas