Passe par des tests bit à bit.
Chaque niveau doit être un carré de 2.
Ainsi tu as:
1 2 4 16 32 64 128 etc...
Après tu peux cumuler les droits en additionnant.
Exemple:
- admin = 1
- moderateur = 2
- vip = 4
- membre = 8
Tu as:
- toto => membre + modérateur + admin = 8 + 2 + 1 = 11
- tata => membre + modérateur = 8 + 2 = 10
- tutu => membre = 8
Les tests de conditions seraient:
- toto & membre => true
- tata & admin => false
- tata & modérateur => true
Ainsi, les droits sont gérés beaucoup plus facilement.
Tu as juste à dire, machin est un ... et aussi un ... ainsi qu'un ... etc...
Partager