pnx-si / usershub Goto Github PK
View Code? Open in Web Editor NEWApplication web de gestion centralisée des utilisateurs
License: GNU General Public License v3.0
Application web de gestion centralisée des utilisateurs
License: GNU General Public License v3.0
Actuellement UHV2 ne gère que le champs pass_plus
en bcrypt.
Il ne gère pas l'ancien MDP pass
en MD5 car dans les modèles, la variable pass
est déjà existante dans Python.
Néanmoins il est important de continuer à remplir et mettre à jour les 2 champs de MDP pour les applications qui utilisent encore le champs pass
en MD5.
On stocke l'ID dans t_roles
.
A voir pourquoi le champs organisme est répliqué dans cette table ?
Les scripts install_app.sh
et install_db.sh
correspondent encore à UHV1.
a priori identique pour les users
Admin-usershub
pour savoir si l'utilisateur a le droit de se connecter à l'applicationAvec ses groupes, ses tags, ses CRUVED (directs ou hérités)....
Dans le formulaire, on peut rattacher un utilisateur à un ou pls groupes.
Actuellement le fonctionnement n'est pas assuré au moins lors d'un update, les groupes de l'utilisateur ne sont pas remplis.
Décider s'il faut permettre l'affectation d'un utilisateur à des groupes depuis le formulaire utilisateurs ou pas (seulement depuis le formulaire groupe). Si oui corriger le fonctionnement.
On peut aussi afficher (en lecture seule) les groupes auxquels un utilisateur appartient.
Même logique pour les listes.
Ajouter un paramètre fill_md5_pass
pour que le mot de passe md5 puisse ne pas être renseigné.
En effet, ceux qui n'ont pas de vieilles applications n'ont pas besoin de ce MDP et ce serait dommage de leur coller ce champs fragile si il n'est pas utilisé.
Si un utilisateur qui n'est pas administrateur tente de se loguer, l'application s'ouvre sur une page vide.
Il faut tester les droits et adapter le comportement de l'application selon les droits nécessaires.
Mise en paramètre des droits min pour ouvrir l'appli ?
Ajouter cette fonctionnalité dans le back et le front
Error sur : PERFORM pg_catalog.setval...
Voir aussi la création des séquences dans le SQL de création où les séquences démarrent à 100000. Héritage PNE ?
Dans https://github.com/PnEcrins/UsersHub/tree/develop/data
Séparer le script SQL de création de structure de la BDD et celui d'intégration de données dans la BDD.
A voir si on profite de la V2 pour renommer le schéma utilisateurs
en ref_users
.
Pour garder la compatibilité avec les applications qui utilisaient UH V1, des vues ont été créées (0b7783b).
On pourrait laisser ses vues dans un schéma nommé utilisateurs
mais basculer les tables et fonctions dans un schéma ref_users
.
Liste des organismes, des unités.
Idem dans d'autres formulaires ?
Tous les utilisateurs n'ont pas forcément un pass. Il y a donc pls chantiers concernant le pass :
Salut,
En vue de la migration vers GeoNature V2 et de son module Usershub, disposez vous d'une documentation et d'outillage pour celle-ci (en plus des scripts update1.xt01.y.sql) ?
Pour mémoire nous utilisons actuellement au PNM Usershub 1.2.0 pour la gestion des utilisateurs de l'application autorisation de circulation.
Merci
Voir PnX-SI/UsersHub-authentification-module#4
On utilise actuellement du md5, il serait préférable de passer en sha256.
A voir si cela impliquerait des modifications seulement dans UsersHub-authentification-module ou aussi dans les applis.
Ce qui est sur c'est que ça entraînerait des modifications dans les applications qui n'utilisent pas UsersHub-authentification-module (Geotrek ?; Police....)
Dans le script d'installation https://github.com/PnEcrins/UsersHub/blob/master/data/usershub.sql#L176-L181 et donc faire un script de migration de BDD.
Cette table n'est pas utilisée, les observateurs sont des utilisateurs (avec ou sans mot de passe et droits) dans t_roles
.
Idée : être en mesure de rajouter des opérations (Instructions SQL) qui seraient lancées à la fin d'une opération de mise à jour en fonction de l'action réalisée sur la base de données
Page d'accueil
Bandeau
Recréer les fiche info user, info application etc...
utilisateurs.cor_app_privileges
semble très orientée sur le fonctionnement de GeoNature (un rôle a un tag de type action
, associé à un tag de type object
(portée), associé à une application
(module) mais du coup elle est spécifique ?
Par ailleurs on associe des tags à des role dans utilisateurs.cor_role_tag
.
Ajout d'un paramètre dans connecter.php
et l'utiliser dans les fichier /web/update_xxxx/php
.
Pouvoir Activer/Desactiver un utilisateur sans le supprimer de la BDD.
./js/application.panelUtilisateurs.js:91: Ext.getCmp('champ_email').setValue(txt.toLowerCase()+'@ecrins-parcnational.fr');
./js/application.panelUtilisateurs.js:104: Ext.getCmp('champ_email').setValue(txt.toLowerCase()+'@ecrins-parcnational.fr');
Dans https://github.com/PnEcrins/UsersHub/blob/separate-sql/data/usershub-db.sql
Je ne sais pas à quoi elles correspondent mais elles renvoient des erreurs.
On a commencé à scripter des VUES permettant de simuler les tables de la V1 en s'appuyant sur des tags : https://github.com/PnEcrins/UsersHub/blob/uhv2/data/update_1to2.sql
Néanmoins il semble qu'il faille revoir les types de tags dans utilisateurs.t_tags
car les portées sont typées en privileges (id_tag_type=3
) alors qu'elles devraient être en objects (id_tag_type=1
).
Cette table a bien un champs id_organisme
qui est mis à jour lors de modification. Par contre elle contient aussi un champs organisme
qui fait doublon et n'est pas modifié ors d'un changement sur un utilisateur.
Champs à virer ?
Notamment dans la liste des rôles pour bien voir quels sont les groupes et les utilisateurs.
Le champ active ne peut pas passer à false sans lever une erreur et invalider le formulaire
Voir PnX-SI/UsersHub-authentification-module@9e880d1
Cela nécessite de reporter cette modification dans toutes les applications qui utilisent UsersHub.
0.12.2 vers 1.0.2
Car il ne s'agit pas de MENUS mais de LISTES d'utilisateurs.
Les modifications des organismes depuis le formulaire de UsersHub ne sont pas enregistrés en BDD.
En tout cas pas dans les BDD filles.
Menu :
Liste utilisateurs (et autres listes) :
bib_organisme
Ajout utilisateurs (et autres formulaires) :
Ajout Groupe :
Peupler les groupes
Liste applications
Liste des tags
Ajout tag
Associer rôle à CRUVED
Créer un interface spéciale pour modifier le mdp.
Actuellement quand on est en édition d'un utilisateur, ces champs sont masqués
Je modifie un utilisateur pour y ajouter un commentaire.
Quand j'enregistre, l'enregistrement tourne en boucle sans terminer "Enregistrement en cours".
Pourtant le champ Commentaire fonctionne bien quand je le saisis au moment de l'ajout d'un utilisateur. Problème uniquement sur la mise à jour ?
Pour des questions de volatilité de serait bien d'avoir un code application qui soit unique et non modifiable de façon à pouvoir récupérer l'id application qui lui est potentiellement différent d'une application à l'autre.
Depuis le début ce nom de table m'embrouille.
D'autant plus que dans les tags, les privilèges sont justement les anciens droits (1 à 6). Et ces anciens droits sont gérés dans cor_role_tag_application
.
Supprimer ces messages ?
https://github.com/PnEcrins/UsersHub/blob/master/install_app.sh#L45-L47
Car ils sont affichés à la fin du install_all.sh
de GeoNature et portent les utilisateurs à confusion.
Intégrer la migration des données de la V1 à la V2.
Une refonte de UsersHub en V2 est amorcée dans une branche dédiée : https://github.com/PnEcrins/UsersHub/tree/uhv2
Cette refonte vise à :
La refonte est réalisée par @Laumond11u
Il est fait en sorte de ne pas pouvoir gérer les droits de UsersHub dans l'interface en l'excluant de la liste des applications : https://github.com/PnEcrins/UsersHub/blob/master/web/get_applications.php#L5
En effet dans utilisateurs.t_applications
elle est bien présente avec l'identifiant 1 :
id_application | nom_application | desc_application |
---|---|---|
1 | application utilisateurs | application permettant d'administrer la présente base de données. |
Du coup pour ajouter des droits dans UsersHub à un utilisateur ou groupe il faut le faire directement dans la BDD de UsersHub dans la table utilisateurs.cor_role_droit_application
.
Par exemple pour donner des droits d'administration au groupe 1004
et à l'utilisateur 12
:
id_role | id_droit | id_application |
---|---|---|
1004 | 6 | 1 |
12 | 6 | 1 |
Attention, toute modification faite directement dans usershubdb
n'est pas répliquée dans les BDD filles comme geonaturedb
car ce sont les modifications faites depuis l'interface de UsersHub qui sont répercutées dans les BDD filles.
Elles sont donc à répliquer à la main dans les BDD filles.
On ne sait plus exactement pourquoi on n'avait fait en sorte que les droits dans l'application UsersHub ne soient pas gérables depuis l'interface.
A revoir dans une future version ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.