Sujet : Hoa_Acl et Base de donnée
(Re)Bonjour,
Hé oui ! Encore une question
Quoique ici ça s'apparente plus à des précisions/imprécisions sur le package Hoa_Acl.
Je ne connaissais pas la gestion des droits de cette manière et c'est d'ailleurs un des éléments qui m'a beaucoup séduit chez Hoa. Cependant je n'aurais pas résonner de cette manière et c'est peut-être pour cela que j'ai quelques difficultés à mettre ce système parfaitement en place.
Reprenons l'exemple décrit dans le manuel que je réexplique brièvement car c'est là que se situe mon problème. Le groupe admin est indépendant ainsi que le groupe staff. Ce dernier à quant à lui 3 sous-groupes. Editor, adman et editorSpec. EditorSpec est lui-meme un sous-groupe de adman.
Si on traduit ça, ça donne: "Editor et adman sont des personnes du staff et que editorSpec est une personne du staff et c'est également un éditeur spécial".
Si on ajoute des droits aux différents groupes on peut retraduire cette phrase ainsi: "Editor et Adman sont des membres du staff et hérite des droits de ce dernier groupe. EditorSpec hérite des droits du staff ainsi que ceux de adman ".
Ce qui me pose problème c'est que on attribue les droits aux groupes principaux et qu'on en enlève au sous-groupe. Enfin, c'est la philosophie que j'ai cru comprendre. Moi, j'aurai plutôt fait ça dans un autre sens. On déclare d'abord des permissions globale et ensuite on en rajoute en fonction du groupe. Prenons un exemple ce sera peut-être(sans doute !) plus concret !
Le staff est composé chez moi des Newsers, Validateurs et Modérateur. Et on a un groupe qui correspond aux utilisateurs.
Les utilisateurs on accès au forum. Le staff à accès au forum et à son propre forum, le forum staff afin de pouvoir communiquer entre-eux. Le groupe modérateur peut modérer le forum, le groupe des validateurs peut valider les tutoriels et le groupe des newsers peut valider des news et en écrire. Donc si on suit mon raisonnement on attribue les droits généraux au groupe staff où chacun des sous-groupes va hériter de ces droits. Hors le staff est avant tout constitués de membres et ont donc les mêmes droits qu'eux. Les newsers sont des membres mais font partie du staff et on des droits supplémentaires sur les news. Et ainsi de suite pour les validateurs et modo.
Ca c'était l'exemple théorique... Voici l'exemple pratique:
J'ai crée une base de donnée composée d'utilisateurs, groupes et permissions. (Je simplifie au max)
user_id
user_login
user_pwd
user_groupegroupe_id
groupe_label
groupe_parentspermission_id
permission_groupe
permission_labelL'utilisateur fait donc bien partie d'un groupe ou de plusieurs groupes et les permissions sont attribuées à un groupe ou plusieurs groupes également.
Si je suis le raisonnement de base mon administrateur a toutes les permissions et le staff hérite des permissions de l'administrateur moins les permissions qu'on veut pas lui donner à savoir supprimer le site pour prendre un exemple extrême:D Ca devient difficile de mettre en place se genre de hiérarchie avec une base de données non ? (Enfin il me semble
)
Si on prend mon exemple ca ne fonctionne pas non plus car selon moi l'administrateur est en bas puisqu'il "hérite" des droits de tout le monde ! Donc normalement je suis censé déclarer les droits de mes autres groupes avant ce qui ne pause pas de soucis et l'administrateur héritera de ces droits. Le problème c'est que quand je vais rajouter un groupe je vais devoir dire que l'administrateur hérite de ces droits... problème c'est pas automatique ! Et je ne parle pas du fait que l'administrateur doit être le dernier groupe qui sors de la base de données pour hrité des groupes précédents !
Donc bref je me suis embrouillé plus que tout je sais ps comment faire et je suis un peu perdu ! J'espère que vous ne vous êtes pas perdu non plus dans mes explications plus que farfelues :s
Y-a-t'il une autre démarche ? Ou plus simplement, comment mettre un système de droits avec base de données en place ?
Merci d'avance