Un truc important par contre.
Réutilise le système de droits de Windows (qui se base sur ce que tu veux faire, avec ses utilisateurs par utilisateur et par groupe).
Sous Windows, les droits ont trois états :
- A le droit : L'utilisateur a évidement le droit à l'action spécifiée sur l'objet spécifié.
- Non renseigné : Hérité. Pas défaut, il n'a pas le droit, sauf si un de ses groupes a le droit.
- N'a pas le droit : C'est ce droit qui prime sur tout autre droit explicite au niveau groupe. Exemple : L'utilisateur A appartient aux groupes Alpha et Beta. Si Beta n'a pas le droit à une action, mais Alpha a le droit, alors il n'y a pas droit. Par contre, s'il A a le droit, quelque soit les droits au niveau Alpha ou Beta, il a tout de même le droit.
En bref :
-> Tu scannes les droits explicites.
-> Si "a le droit", ou "n'a pas le droit", tu gardes cette valeur, elle prime sur toutes les autres.
-> Si non renseigné, tu scannes les droits de tous ses groupes.
-> Si un seul des groupes "n'a pas le droit", alors il n'a pas le droit. Si au moins un groupe "a le droit" (et aucun n'a pas le droit), alors il a le droit.
-> Si à ce stade tu n'as trouvé aucun droit, alors il n'a pas le droit.
Pense cependant, dans l'admin, si tu ouvres la gestion des droits aux utilisateurs, à permettre au groupe "administrateur" de modifier les droits sur des objets où ils n'ont pas le droit. Pour les autres utilisateurs, il faut avoir un droit spécifique pour changer les droits sur chaque objet.
Message édité par Arjuna le 12-08-2005 à 10:11:58