- 1
[Opened] Désactiver un Droit
Posted by foxmask on 10/09/2010 15:07
Je me demandais s'il ne serait pas intéressant d'ajouter à jAcl2, un moyen de désactiver un droit un temps donné pour, éventuellement, le réactiver ultérieurement.
exemple :
Actuellement je peux accorder le droit de déposer des messages par forum pour un groupe de personnes, au hasard : les visiteurs.
A présent si l'administrateur ne veut plus accorder ce droit aux visiteurs ; il doit aller sur la config de chaque forum pour supprimer le droit aux visiteurs. Ce qui est fastidieux et pas user friendly.
Donc pour lui faciliter la tâche, je lui permets de le faire globalement. "autoriser les visiteurs à poster oui/non"
Le hic est le suivant :
Pour tout désactiver, je dois retirer les droits bêtement. Si je veux réactiver les droits, je ne peux pas le faire globalement, je me repaluche la config des forum un à un : c'est pas propre. Et si je veux le gérer automatiquement sans repasser sur chaque forum, je ne vois pas d'alternative que de stocker (qqpart : un fichier, une table, autre) les droits accordés quand on désactive ces derniers, pour les récuperer et les rétablir le cas échant ; tout ca est faisable mais un poil lourdingue.
Conclusion:
Pour éviter de perdre les droits, donc, il faudrait non pas les supprimer de la table mais les désactiver par exemple avec un flag active on/off , et lors du jacl2::check() on vérifierait que ce droit est On
Qu'en dites vous ?
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
[Opened] Désactiver un Droit
Posted by Vincentv on 10/09/2010 19:26
+1 pour l'idée :)
[Opened] Désactiver un Droit
Posted by laurentj on 10/09/2010 20:54
pas besoin de rajouter une fonctionnalité, tu l'as déjà en fait. Deux solutions :
* ajoute un deuxième droit, global celui-ci. Et donc tu fais un check à la fois sur ce droit global, et sur le droit spécifique à la ressource (ici un forum).tu as donc deux check au lieu d'un seul, avec un "ET". Il suffit alors dans l'admin de proposer une case à cocher (ou d'aller dans l'admin des droits), pour activer ou desactiver ce droit global * sinon, ce droit global, peut aussi être un simple boolean que tu stockes quelque part (vivement jPref :-)). Et donc faut checker ce boolean ET le droit spécifique à la ressource.
[Opened] Désactiver un Droit
Posted by foxmask on 10/09/2010 21:32
Ah oui c'est exact. Cet aspect m'avait échappe compte tenu du fait que j'utilise une ressource j'en avais oublie la gestion sans. Ça roule donc ;)
Merci
@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !
- 1