Comment crée un system de rôle avec permission?

a marqué ce sujet comme résolu.

Bonjour!
comment crée un System de rôle et permission j’ai un peut trop réfléchi sur comment le faire et je ne sais qu’elle est la meilleur façon ou la plus flexible
- soit un rôle avec un niveau (level)
- soit un rôle et des permissions mais dans ce cas je ne vois pas trop comment le faire
exp: si sur mon site un utilisateur a le rôle modérateur comment lui permettre d’écrire ou de lire des données d’une fonctionnalité comment par crée un article ou bien encore modifier ou supprimer les commentaire d’un utilisateur mal intentionné?

Salut :)
J’ai vu sur FuelPHP et sur d’autre Framework (et maintenant je me base que sur ça ) un système de rôle à niveau couplé à des permissions.
En gros :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?php array(
  'admin' = array(
       'level' = '100',
       'herit'= array('moderator', 'user', 'guest')
   )
   'moderator' = array(
       'level' = '50',
       'herit'= array('user', 'guest')
   )
)

array(
   'moderator' = array(
        'membre' = array('flag', 'ban', 'edit')
    )
    'admin' = array(
        'membre' = array('create', 'remove')
    )
)

En gros l’admin hérite des pouvoirs du modo et peut en plus créer ou supprimer un membre. Et j’avais une fonction de type

1
2
3
<?php if(Membre::hasAccess('member.create'){
   //tu comprend où je veux en venir ;) 
}

En espérant avoir pu t’aider ;) (et hésite pas si besoin ;) )

EDIT : j’ai mis du php pour la coloration syntaxique ;)

+0 -0

Salut,

Je vois que tu as mit python dans les tags, quel framework utilise-tu ? Django ?

Kje

Salut!
heu..! non pour le moment j’ai choisis de retourner vers les petits framework pour ne pas "brûler les étapes" et me gaver d’une bonne base. j’utilise Flask, Bottle et web.py du coup!!

En général tu as : - une liste de groupes (admins, modérateurs, membres) - une liste de membres, chacun peut appartenir à un ou plusieurs groupes - une liste de permissions (créer un nouveau membre, fermer un sujet, …), chaque permission est attribuée à un ou plusieurs groupes

Ensuite tu fais une fonction qui t’indique si un membre a une permission donnée. Pour ça, tu boucles sur les groupes auquel est attribuée la permission et dès que tu en trouves un qui figure dans la liste des groupes du membre tu retournes true. Si tu n’en as trouvé aucun, tu retournes false.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte