Bonjour à toutes et à tous,
Je voudrais mettre en place un système dans mon site, donnant des droits à des utilisateurs (ecriture, lecture, modification).
Ces utilsateurs seront soit admin, moderateur, ou membre, auquelle je pourrais modifier les droits à la volée
Comment puis je empecher un membre qui à juste le droit de lecture, à accéder à l'url d'un membre ou moderateur qui à le droit d'écriture.
En attendant de vous lire cordialement

4 réponses


Noxiz
Réponse acceptée

Bonjour
je me remet a peine à coder
mais je crois qu'avec une variable déterminant le role de l'utilisateur tu peux realiser ce system
dès la connexion de l'utilisateur tu vérifie ces droits et affiche les fonctionnalités auquelle il a access et ensuite tu fait un script qui (s'il reussi a choper un lien admin par exemple ) verifie ces droits et lui en interdit l'accès ou l'action
pareille pour un espace membre exemple : un membre connecté ne peut plus avoir acces au formulaire d'inscription ni de connection pendent sa session

driven78
Réponse acceptée

tu cree un champ suplementaire dans ta base de donnée appellé "level " par exemple dans la table user qui va de 1 a 5
tu recuperes cette info à la connection de l'utilisateur en même temps que les autres infos
tu la stockes en session

et pour chaque vérification que tu veux faire tu mets par exemple

if( $_Session['level']  > 2 ) {
    ton code...
}
neecride
Réponse acceptée

J'ajouterais a ce que dis driven78

if( isset($_Session['auth']->role )  &&  !empty($_Session['auth']->role =! 'admin' ) ) {
    //redirection si pas admin
}

Les sessions ne sont pas définie quand tu te déconnecte donc un isset et si c'est inferieur ou supérieur de x role (oui un role c'est mieux et un index de auth) le !empty entre en jeux.

Mizzou
Auteur

Rebonjour, et bien merci pour les conseils que vous m'avez apportez , j'ai une base de travail maintenant, je vais pouvoir reflechir plus facilement. Je posterai mon code dès qu'il a passer les tests.