PnX-SI/UsersHub

Restauration utilisateurs install globale

Gaetanbrl opened this issue · 6 comments

Bonjour,

Description du problème rencontré

Je parcourais usershub et suite à une modification je n'arrive plus à me logger en tant qu'admin ou via un admin que j'ai créé.

Voici mes étapes :

  • Connexion à usershub en tant que admin/admin
  • Création d'un user et ajout dans grp_admin
  • Decconnexion
  • Connexion avec le nouveau user créé
  • Modification des droits du user en cours d'utilisation >> suppression groupe admin du user

Depuis je n'arrive plus à me reconnecter à usershub via admin/admin ou via le user créé. Je ne suis plus certain à 100% de la manipulation faite, vu que je ne peux pas me reconnecter pour reproduire avec un autre user.

La connexion à /geonature est également impossible.

Un restart des serveurs à permis de retrouver la connexion admin à /geonature mais pas avec le user créé.

Erreur

409 POST
Le message indique que l'utilisateur admin ou l'utilisateur créé n'existent pas.

Question

Comment réinstaller par défaut la DB (retourné à l'état install global) ?

Un .backup est-il disponible dans les sources Git ?

Environnement

Dernière version Installation Globale
Debian 10

Merci.

Message réceptionné sur le dépôt GeoNature :

Vous trouverez ici le script qui intégre les données par défaut dans la base Usershub https://github.com/PnX-SI/UsersHub/blob/master/data/usershub-dataset.sql

Dans votre cas vous devriez pouvoir simplement ajouter l'utilisateur admin par défaut dans la table t_role, ou simplement mettre à jour son mot de passe.

S'il s'agit juste de restaurer le mot de passe de l'admin, il s'agit d'un mot de passe crypté. un mot de passe en clair en bdd ne fonctionnera pas.
Pour le mot de passe admin du compte admin, c'est le texte suivant à renseigner dans le champ pass_plus.

$2y$13$TMuRXgvIg6/aAez0lXLLFu0lyPk4m8N55NDhvLoUHh/Ar3rFzjFT.

INSERT INTO t_roles (groupe, id_role, identifiant, nom_role, prenom_role, desc_role, pass, email, date_insert, date_update, id_organisme, remarques, pass_plus) VALUES
(false, 1, 'admin', 'Administrateur', 'test', NULL, '21232f297a57a5a743894a0e4a801fc3', NULL, NULL, NULL, -1, 'utilisateur test à modifier', '$2y$13$TMuRXgvIg6/aAez0lXLLFu0lyPk4m8N55NDhvLoUHh/Ar3rFzjFT.')

en effet @lpofredc c'est cette requête je comptais exec avec le mot de pass encrypté.

Je vais lancer la requête pour fixer l'accès admin et ensuite reproduire pour voir ce qui a pu provoquer ce problème...

Après inspection, c'est le group Grp_admin qui était manquant.

J'ai donc rajouté le groupe mais pas mieux, le user admin semble introuvable alors qu'il est bien dans la table avec le mdp / login :

Request URL: http://192.xxxxxx/usershub/pypn/auth/login
Request Method: POST
Status Code: 490 UNKNOWN
{"type": "login", "msg": "No user found with the username \"admin\" for the application with id \"1\""}

image

Je pense que les scripts sont à repasser pour ce qui est relatifs au groupe Admin... en cours donc.

Après passage des requêtes suivantes, le group admin est rétabli et la connexion à /usershub en admin est OK :

INSERT INTO t_roles (groupe, id_role, identifiant, nom_role, prenom_role, desc_role, pass, email, date_insert, date_update, id_organisme, remarques) VALUES 
(true, 9, NULL, 'Grp_admin', NULL, 'Tous les administrateurs', NULL, NULL, NULL, NULL, NULL, 'Groupe à droit total');

INSERT INTO utilisateurs.cor_roles (id_role_groupe, id_role_utilisateur) VALUES 
(9, 1);

INSERT INTO utilisateurs.cor_role_app_profil (id_role, id_application, id_profil) VALUES
(9, 1, 6) --admin UsersHub;

Par contre la connexion avec le user créé précédemment n'est toujours pas rétablie. Soit je le recréé soit il doit manquer l'inscription de ce user dans une table pour que la relation se réalisent bien.

la suppression + création d'un nouveau user fonctionne.
Le user ne pouvant se connecter à été recréé.
Je clos le ticket.