Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ajout de contraintes "unique" sur les champs "identifiant" et "email" de "t_roles" #134

Open
jpm-cbna opened this issue Jun 17, 2021 · 1 comment

Comments

@jpm-cbna
Copy link
Contributor

Actuellement, les interfaces de GeoNature de création de compte empêchent la création de compte dont l'email ou l'identifiant seraient en doublon.
Par contre, dans la base de données rien n'empêche d'intégrer des utilisateurs dans la table "t_roles" avec un email ou identifiant déjà existant.
Il faudrait donc ajouter 2 contraintes d'unicité, une sur le champ "identifiant" et une sur le champ "email". Par contre, pour les utilisateurs sans identifiant ou email, il est nécessaire de forcer la valeur du champ à NULL sinon la contrainte peut bloquer.
A noter aussi que pour ajouter ces contraintes, la table "t_roles" ne doit pas être en état "lock". La requête ci-dessous permet d'afficher toutes les tables avec un statut "lock":

SELECT t.schemaname,t.relname,l.locktype,l.page,l.virtualtransaction,l.pid,l.mode,l.granted
FROM pg_locks l JOIN pg_stat_all_tables t ON l.relation = t.relid
WHERE t.schemaname <> 'utilisateur'::name AND t.schemaname <> 'pg_catalog'::name
ORDER BY t.schemaname, t.relname ;

La présence de doublon pour les champs identifiant et email empêche la création de compte et surtout le renouvellement du mot de passe ce qui est vraiment problématique.

@camillemonchicourt
Copy link
Member

Duplicate #122 pour les emails.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants