Import des mots de passe des lecteurs PMB 5.0.5

Bonjour,

Avec le script import_bretagne_3.inc.php, il semble que l'import des mots de passe ne fonctionne pas.

S'agit-il d'un cryptage lié a ce script, d'un blocage de sécurité dans PMB, existe-t'il une solution permettant d'importer les mots de passe et les identifiants des lecteurs ?

Merci d'avance pour vos réponses.

Réponses

  • Bonjour Romaric,

    Le problème est lié au fait que les mots de passe sont désormais cryptés.

    Deux causes possibles :
     - tes mots de passe n'ont pas été cryptés lors de l'import, mais PMB croit qu'ils le sont
    (peut-être parce qu'on avait précédemment demandé de les crypter (dans Outils - Nettoyage de base)
     - tes mots de passe ont été cryptés lors de l'import, mais PMB l'ignore

    Si tu as accès à PhyMyAdmin, peux-tu vérifier ceci dans la table empr ?
    1) le champ empr_password contient-il des infos "en clair" ou les données sont-elles cryptées
     2) le champ empr_passwor_is_encrypted contient-il la valeur 0 ou 1 ?

    Si tu n'as pas accès à PhpMyAdmin, ou si tu veux gagner du temps, tu peux créer cette requête dans l'onglet Admin.
    Elle te permettra de répondre aux questions que je poses à la fin de mon message.

    SELECT libelle, empr_cb, empr_nom, empr_prenom, empr_login, empr_password, empr_password_is_encrypted FROM empr, empr_categ WHERE empr_categ = id_categ_empr ORDER  BY 1, 2

    Quand les choses se déroulent normalement,
     - si le mot de passe est crypté, le champ empr_passwor_is_encrypted contient la valeur 1
     - si le mot de passe n'est pas crypté, le champ empr_passwor_is_encrypted contient la valeur 0

    Que constates-tu ?
    Mots de passe cryptés ou non ?
    Valeur contenue dans le champ empr_passwor_is_encrypted ?
    Correspond-elle au déroulement normal des choses (expliqué ci-dessus) ?

    Différence éventuelle entre les lecteurs importés récemment et ceux qui existaient précédemment et qu'on n'a pas supprimés lors de l'import ? (par exemple parce qu'ils avaient des prêts en cours, ou que ce sont des personnes extérieures à l'établissement)

    Quelle version de PMB emploies-tu ?

    Tu me tiens au courant ?
    Anne-Marie
  • Bonjour Anne-Marie et merci pour ta réponse,

    j'ai effectué la requête sur une base PMB 5.0.5 (indiquée en titre de cette discussion).

    L'import des lecteurs a été effectué avec des mots de passe dans le fichier et j'ai ajouté un lecteur par la suite en écrivant son mot de passe lors de la création mais pour tous les lecteurs la requête indique empr_passwor_is_encrypted = 1

    Par conséquent il y a-t'il une solution pour que les mots de passe importés soient conservés ?

    A très bientôt

  • Bonjour Romaric

    Il me manque la réponse à une de mes questions.

    Est-ce que le champ empr_password contient un mot de passe crypté ou lisible en clair ? 
    La réponse à cette question  est-elle la même pour les lecteurs importés et celui que tu as créé manuellement ?

    A bientôt 
    Anne-Marie 
  • Ah oui pardon, en effet cette colonne contient un mot de passe crypté pour tous les lecteurs.
  • J'ai effectué la procédure sur une autre base qui contient des mots de passe importés et d'autres créés manuellement et nous avons des empr_passwor_is_encrypted = 1 ou d'autres = 0 et je peux aussi voir certains mots de passe dans la colonne empr_password.

    A bientôt
  • Bonjour à tous et particulièrement Anne-Marie,

    après avoir effectué ses procédures je ne sais pas si une solution existe pour que le mots de passe importés soient conservés.
    Il y a t'il un paramétrage serveur ou PMB a effectuer ?
  • Bonjour,

    Remise à jour de ce sujet.
    Je constate, comme Romaric, que lors de l'import des lecteurs le mot de passe (présent dans le csv) n'est pas importé, tous les autres champs sont ok.

    Vérification via phpmyadmin des tables :
    - le champ empr_password contient-il des infos cryptées
    - le champ empr_passwor_is_encrypted contient la valeur  1

    Version pmb 5.0.7 - php 5.6

    Comment faire pour obtenir l'import des mots de passe ?



  • Bonjour,
    Après tâtonnements et tests, je suis parvenu à obtenir l'import des lecteurs avec mot de passe (et ça fonctionne dans le portail).
    Pour une raison que je ne m'explique pas, si on fait l'import des lecteurs dans PMB en demandant MAJ complète les lecteurs sont importés mais le mot de passe n'est pas reconnu quand on tente d'accéder via le portail, par contre en cochant "nouveaux lecteurs", ça fonctionne.
    Pour l'instant pas le temps de creuser le pourquoi du comment. Cette démarche résout mon souci du moment mais reste que tous les cas d'imports ne sont pas opérationnels.

    Résumé de ma configuration :
    pmb 5.0.7 ; php 5.6
    script import bretagne 3 pour l'import lecteurs
    Le fichier csv comporte bien un ; en fin de chaque ligne

    A noter : en faisant MAJ complète pour l'import, j'ai bien des valeurs qui sont présentes dans le champ "empr_password" de la table "empr" . Le  champ empr_passwor_is_encrypted contient la valeur  1.



  • Nous avons solutionné notre soucis avec la solution décrite ci-dessous. En espérant que cela pourra aider quelqu'un.

    Lors de l'import, nous avons constaté qu'il n'y avait pas de problème de mot de passe pour les nouveaux lecteurs. Le problème se pose par contre pour ceux qui ont déjà une fiche lecteur dans notre PMB que nous voulons "actualiser".


    Deux options :
    1. Ne pas importer de nouveaux mots de passe
    Nous créons plusieurs listes et, lors de l'actualisation des fiches lecteurs déjà existantes, nous ne lions pas les mots de passe de notre fichier d'import au champ "empr_password" (dans la fenêtre Sélection des colonnes).


    De cette façon, PMB conserve les mdp préalablement renseignés et cela ne perturbe pas les lecteurs déjà encodés.


    2. Requête SQL pour recrypter les mdp
    (Attention : nécessite des connaissances avancées en gestion de base de données)
    S'il n'est pas envisageable de scinder le fichier d'import ou que c'est trop compliqué à mettre en place, il est possible de passer par la base de données pour modifier le champ "empr_password_is_encrypted" dans la table "empr" (il faut le faire passer de 1 à 0 pour qu'il n'interprète pas des mdp en clair par des mdp cryptés). Pour information, j'ai essayé de créer une colonne avec une valeur 0 lors de l'import que j'ai associé au champ "empr_password_is_encrypted" de la fenêtre Sélection des colonnes mais cela ne semble pas fonctionner, d'où la requête en db pour faire la même manip.
    Chez moi cela donne : "UPDATE `empr` SET `empr_password_is_encrypted` = 0 WHERE `empr_codestat` = 16" ( la variable empr_codestat et sa valeur sont à adapter selon votre contexte car cela nous permet chez nous de sélectionner nos groupes de lecteurs mais cela sera sans doute différent dans un autre système).
    Ensuite, il faut demander à PMB de réencoder les mdp (Administration->Outils->Nettoyage de base-> cocher "Encoder les mots de passe lecteurs pour la connexion à l'Opac".).


    Attention, si vous n'êtes pas à l'aise avec la manipulation d'une base de données, mieux vaut éviter cette option. Je la mets cependant pour ceux qui souhaitent trouver un plan B.

    J'espère que ça pourra être utile à certains.
  • Un grand merci pour ce plan B qui m'a bien servi.
Connectez-vous ou Inscrivez-vous pour répondre.