Apres installation impossible de me connecter avec mon compte admin

Salut

Je viens d’installer Dolibarr 20.0.0 sur le serveur o2switch de notre association. L’installation c’est bien déroulé, mais au moment de me connecter avec le compte admin ça me dit : Identifiant ou mot de passe incorrect.

Or, ils sont bons les deux (mot de passe créé et sauvegardé avec KeePass). J’ai quand même essayé en modifiant le mot de passe dans la base de donnée (table user, puis ligne pass_crypted), mais c’est pareil. Je ne peux pas faire de mot de passe perdu puisque a la création du compte admin ça ne demande pas de mail.

Bonjour,

Avez-vous un environnement de test et la possibilité de faire du php ?

1 « J'aime »

Qu’est-ce que tu entends par faire du php ? sinon je peux mettre en place en local une installation. J’utilise Laragon pour faire des sites. Je peux aussi faire une installation distante juste pour du test.

Je précise que même si je fais des sites (sous Joomla) je ne suis pas calé en php :smiling_face: .

Pour peu que l’installation en local se déroule correctement et que le mot de passe…passe.
Et je comprends que c’est une install toute fraîche.

Ce que je te propose est de t’assurer que le mot de passe crypté correspond au bon mot de passe

As-tu la possibilité d’exécuter cette requête SQL

SELECT LC.NAME , lc.VALUE 
FROM LLX_CONST LC 
WHERE LC.NAME LIKE 'MAIN_SEC%'

Tu devrais avoir un résultat semblable à ceci (pas forcément sha1md5, on verra plus tard)
image

Si c’est ok, on passera à la partie php

Bonjour,

La procédure dans les versions précédente est de vider le champ pass_crypted et de mettre le mot de passe en clair dans le champ pass

1 « J'aime »

J’ai executé la requete dans la table user du Dolibarr sur lequel je ne peux pas me connecter. J’ai une errur :

#1146 - La table ‹ NOM_DE_LA_BDD.LLX_CONST › n’existe pas

Vous avez peut-être un préfixe de table personalisé et différent de LLX_ ?
Une copie d’écran de votre phpmyadmin ?

Essayez de donner un maximum de détail.

Non je n’ai pas changé le préfixe. Pour la capture écran de phpmyadmin tu veux la page où j’ai le message d’erreur ou d’une partie ?

Je ne sais pas quoi te donner comme informations.

LLX_CONST n’est pas à écrire en majuscule.

Pour ma part, je dois me plonger d’ici peu sur l’authentification pour comprendre comment ça marche car j’ai un besoin d’ajouter en ligne de commande un admin secondaire et j’ai eu du mal à savoir quoi mettre dans les champs pass* pour que ça marche.
Si je comprends quelque chose, j’en ferai part :slight_smile:
Mais mettre un mot de passe en clair dans le champ « pass » fonctionne le temps de changer le mot de passe. Mais aussi il faut que le champ statut soit à 1.

1 « J'aime »

@ksar a à priori donné la bonne réponse que je ne connaissais pas.

Sinon mon approche était la suivante :

Effectivement, comme dit @libremaster , le nom des tables est sensible à la casse sur les systèmes Unix (j’étais dans mon local bearer windows).
Donc il faut passer cette commande :

SELECT lc.name, lc.value 
FROM llx_const lc 
WHERE lc.name LIKE 'MAIN_SEC%'

ça va permettre de récuperer

  • le type de hashage avec la valeur de MAIN_SECURITY_HASH_ALGO
  • le salage dont la valeur est celle de MAIN_SECURITY_SALT et qui va être concaténé au mot de passe.

Dans le cas de la capture d’écran plus haut, ça correspond à un double hashage, d’abord en md5 puis en sha1
En php ça donne

<?php
$salt = 'La valeur de MAIN_SECURITY_SALT';
$pwd = 'Le mot de passe en clair';
$stringToHash = $salt . $pwd;
echo sha1(md5($stringToHash)); // parce que MAIN_SECURITY_HASH_ALGO = sha1md5, si sha1 alors sha1($stringToHash), si md5 alors md5($stringToHash), etc...

Pour calculer la valeur que doit avoir le champ pass_crypted, tu peux exécuter ce code sur https://onecompiler.com/php et mettre à jour le champ pass_crypted avec le résultat obtenu dans la bdd.

Pour les curieux cf. fonction dol_hash dans core>lib>security.lib.php

Je pense que la façon de résoudre le problème n’est pas la bonne dans la mesure où l’installation de Dolibarr sur o2switch ne devrait pas nécessiter des opérations de niveau geek+5.

Il faut retenter l’opération avec Dolibarr 19 et voir si le problème est le même.

2 « J'aime »

Je suis d’accord

1 « J'aime »

Effectivement, j’ai plusieurs instance sur O2Switch et je n’ai jamais eu ce problème

1 « J'aime »

Également d’accord, car c’est mon cas :wink:

J’ai fait une installation en local avec la v20 et j’ai réussi à me connecter avec les identifiants admin. J’ai installé la v19.0.3 sur le serveur et là aussi j’ai réussi à me connecter avec les identifiants admin. Je comprends pas pourquoi je ne peux pas avec ma premiere installation.

Ce matin j’ai supprimé la toute première installation sur le serveur (la v20) pour refaire une installation de la même version. Problème toujours présent. Je l’ai supprimée pour installer la v19.0.3, ben… également le même problème !

Je relance ma discution. Pas de piste :woozy_face: ?

Bonjour,

Une piste pour quoi exactement ? Si c’est toujours une problème de mot de pass la solution a été donnée plus haut.

Laquelle ? celle du prefixe personnalisé ? j’ai repondu que je n’y avais pas touché. Celle de refaire une installation 19 ? c’est fait (en local pour tests et en distant). Celle pour laquelle il faut être geek+5 ? comme je l’ai precisé ce n’est pas mon cas et je ne me sent pas du tout a faire ces manips.

Alors je laisse tomber. Merci quant meme.

Bonjour,

si vous avez un accès à la base de données (ce qui est visiblement le cas à la lecture de vos autres messages) vous pouvez ajouter un mail dans le champ email du compte admin.
Il doit alors être possible d’utiliser la fonctionnalité « mot de passe perdu »

1 « J'aime »

Bonjour,

J’ai l’impression que vous avez un hébergement web, il vous suffit d’aller sur phpmyadmin, d’ouvrir la table llx_users et de vider le champ pass_crypted et de mettre le mot de passe en clair dans le champ pass

1 « J'aime »