PHP gestion de droits

Akku Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
swermxpress Messages postés 362 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour et bonne année,
Quelqu'un m'avez montré un méthode pour gérer les droits en utilisant un type de nombres
pour chaque nombre premier on définissait un droit
on additionnait ensuite les nombre premier pour stocker dans un seul champ de la base de donnée la liste des droits de la personne
peu importe la somme de nombre faite on ne se retrouvait jamais avec un nombre sur lequel on a mis un droit.

Un exemple sera plus parlant :
2 : droit de créer un utilisateur
3 : droit de modification basique sur un utilisateur
5 : droit de modification avancé sur un utilisateur
7 : droit de suppression d'un utilisateur

par exemple un super admin aurait tout les droits donc 2+3+5+7 et je stockerais 17 dans ma base de données
alors que certain admin pourrait supprimer, ajouter, mais pas faire de modification avancé donc je stockerai 12 (2+3+7) dans ma base de données
Sauf que là un utilisateur ayant seulement le droit de modification avancé aurai la même valeur qu'un utilisateur ayant le droit de créer et de faire des modifications basique.

Si quelqu'un connaissait la méthode et pourrait m'expliquer comment m'en servir (ou me donner un lien) ça m'aiderai grandement

Cordialement
A voir également:

6 réponses

scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   425
 
Sinon encore plus simple tu utilise des nombres binaires.

Par exemple dans ton cas tu chiffre ça sur 12 bits

000000000000

Tous les 0 ça signifie que l'utilisateur n'a aucun droit.

000000000001 : ici l'utilisateur à le premier droit, la valeur de ce nombre binaire est 1.
000000000011 : ici l'utilisateur à les deux premiers droits, la valeur de ce nombre binaire est 3.
000000000100 : ici l'utilisateur n'à que le 3e droit, la valeur de ce nombre binaire est 4.

Ainsi en décodant les nombres décimaux en binaire tu sais quels droits ils ont.

Après à toi de te renseigner ^^
2
Peter_EPSI Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   5
 
Dans ton exemple si tu remplace le 2 par un 1 sa doit marché.
Donc si tu modifie les nombre dans ton script tu doit pouvoir arriver à le faire marché non?
0
Akku Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonjour Peter
Merci de ta réponse.
Malheureusement j'ai une douzaine de droits différents à gérer et peut être plus par la suite. Et je cherche la méthode pour gérer la définition des droits à partir de la somme (savoir que 12 correspond à la somme de 2, 3 et 7 et non pas de 5 et 7).
0
Peter_EPSI Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   5
 
J'ai réfléchi et je pense que si tu utilise de grand nombre sa devré marché.
Comme 1 puis 10 puis 100 puis 1000....
Soit que des puissance de 10 pour simplifié les calcul et tu ne risque pas de retombé sur le meme chiffre, mais par contre tu vas avoir de très gros nombre^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Akku Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   5
 
Bonjour à vous deux
Merci de vos réponse
scriptiz, c'est exactement ce que je fais pour palier à mon problème.
Passez une bonne soirée
0
swermxpress Messages postés 362 Date d'inscription   Statut Membre Dernière intervention   73
 
0

Discussions similaires