CMS Automne
http://www.automne-cms.org/forum/

Perte totale de droits d'accès aux pages pour un utilisateur
http://www.automne-cms.org/forum/viewtopic.php?f=2&t=1514
Page 1 sur 1

Auteur:  jeremie [ Mar Mars 06, 2012 6:02 pm ]
Sujet du message:  Perte totale de droits d'accès aux pages pour un utilisateur

Bonjour,

Rassurez-vous, ce n'est pas un bug à proprement parlé, mais j'aimerais demander conseil ici...

Voilà le cas :
- Automne 4.2.0
- La vérification des droits côté client est activée.

J'ai 2 utilisateurs :
- Anonymous (utilisateur natif d'Automne, attribué à toute personne non authentifiée) : peut voir toutes les pages du site.
- Toto : appartient au groupe d'utilisateurs "Private" : peut voir toutes les pages du site, + accéder à une partie privée.

Toto se connecte au site côté client, il peut voir toutes les pages du site.
Moi, en tant qu'administrateur, je décide (sans aucun remord) de le retirer du groupe "Private".
A ce moment, si Toto actualise une page, il tombe sur une 403.

Et là ça pique, parce que la 403 lui propose de le rediriger vers l'accueil du site.
Mais il n'a en fait plus aucun droit sur le site. Aucune page ne lui est accessible.
Il n'appartenait qu'au seul groupe "Private" : il se retrouve donc sans groupe et sans aucun droit.
Le plus drôle étant que si le navigateur a gardé sa session en mémoire, le pauvre n'a plus qu'une solution pour pouvoir atteindre le site : supprimer les cookies du site, fermer le navigateur et revenir.
Autant dire une solution pas très correcte.

La solution serait d'avoir un groupe "Tout le monde" à qui l'on attribuerait les droits "par défaut".
Mais là encore, si l'administrateur se trompe et oublie d'attribuer ce groupe (c'est à dire si un utilisateur se retrouve avec aucun groupe), alors le bug revient.

N'y aurait-il pas une meilleure solution dans ce cas ?
C'est à dire pouvoir détecter que l'utilisateur n'a aucun groupe d'affecté, et dans ce cas le basculer en Anonymous ?
En fait il faudrait une solution pour éviter de se retrouver avec un utilisateur qui ne possède aucun groupe, ce qui peut causer un gros bug lié au droits.

Bien-sûr c'est dû à une mauvaise gestion des utilisateurs, mais on doit pouvoir faire quelque chose en prévention non ?

Par exemple, pourquoi ne pas avoir nativement un groupe "Anonymous" qui serait attribué à toute personne non authentifiée, ou n'ayant pas de groupe.

Auteur:  Frank [ Mar Mars 06, 2012 6:26 pm ]
Sujet du message:  Re: Perte totale de droits d'accès aux pages pour un utilisa

Comme tu le dis si bien, la solution serait de le faire appartenir au groupe tout le monde ET au groupe private, ainsi si il perd les droits sur l'espace privé, il a toujours accès au site.

Un utilisateur sans groupe ça peut exister et on peut vouloir lui affecter des droits différents du groupe par défaut, donc je ne pense pas qu'automatiser ce genre de chose soit forcément pertinent dans tous les cas de figure.

Auteur:  jeremie [ Mar Mars 06, 2012 6:39 pm ]
Sujet du message:  Re: Perte totale de droits d'accès aux pages pour un utilisa

Pas faux du tout.

Dans ce cas, il serait peut-être plus pertinent, lors d'une 403, de vérifier si l'utilisateur a le droit de voir au moins 1 page sur le site.
Sinon le déconnecter automatiquement.

Dans le cas où il peut voir plus d'une page, le rediriger vers la racine la plus haute (généralement l'accueil).

Là on éviterait de tourner en boucle sur la 403 indéfiniment, et de se retrouver avec une erreur serveur...

Auteur:  Frank [ Mar Mars 06, 2012 9:06 pm ]
Sujet du message:  Re: Perte totale de droits d'accès aux pages pour un utilisa

OK, on attend ton commit sur Launchpad ;)

Auteur:  Sébastien [ Ven Mars 16, 2012 9:30 am ]
Sujet du message:  Re: Perte totale de droits d'accès aux pages pour un utilisa

Salut Jérémie,

Juste un point, tu dis :
Citer:
Bien-sûr c'est dû à une mauvaise gestion des utilisateurs, mais on doit pouvoir faire quelque chose en prévention non ?

Oui on doit surement pouvoir prévoir un truc, mais ça me fait penser au conducteur de camping car qui est allé se faire un café à l'arrière alors qu'il conduisait sur l'autoroute parce que personne ne lui a dit qu'il ne fallait pas le faire...

Je peux essayer de contrer tous les cas de figure idiots que l'on peut mettre en place avec les droits des utilisateurs mais au final, je vais complexifier et contraindre encore plus le système, tout ça pour parer à des cas de figures qui ne sont de toute façon pas voulus par l'utilisateur.

Je préfère laisser les choses "simples" (entre guillemets car elles sont déjà bien assez complexes comme ça).

Par contre, il serait plus intéressant de réfléchir à une sorte de tableau de bord ou bien une méthode quelconque qui permettrait de visualiser ou tester plus simplement les droits d'un utilisateur. Si tu as des idées à ce sujet je suis preneur.

Page 1 sur 1 Le fuseau horaire est UTC [Heure d’été]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/