Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/05/2011, 20h32   #1
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
Par défaut Gestion droits d'acces

Bonjour tout le monde, j'espere que je poste au bon endroit!

je viens de finir le front office de mon site web et me reste le back office.
je me demandais quelle sera la meilleures maniere de gerer les droits d'acces au differentes pages de mon back office...

Le front office contient 3 ou 4 pages où une authentification est exigée, cela ne pose aucun problème, c'est surtout au niveau du back office que j'aurais besoin de creer des permissions...

j'ai fait des recherches sur le net mais la solution qui se repete a chaque fois et de creer un seul champ dans la table "clients" et lui donner une valeur "read", "write", "modify", ... mais je ne la trouve pas complete!!

dois je creer une table "permissions" et y repertorier toutes les url de mes pages "admin" et puis dans ma table "clients" attribuer une valeur au client??

ou auriez vous une solution meilleure??

Merci beaucoup
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 08h50   #2
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Il existe plusieurs solutions ,

Les deux principales sont :

- Le bit bashing qui consiste à donner une valeur à une action (par exemple ECRIRE_ARTICLE = 5 et d'associer aux utilisateur une valeur de droit qui englobe toutes les actions auquels ils ont accès. Voir ici par exemple : http://bravenewworld.fr/1507-gerer-s...t-bashing.html

- Les gestion de ressources. Tu as une table ressources , une table users et une table users-ressources. Tu rentres dans ta table toutes les ressources (acces_admin,ecrire_article,modifier_article ... ) puis pour chaque utilisateur tu fais le lien entre son id et les id de ressources auquel il a accès. C'est dans le principe la même chose que précédemment mais gérer d'une manière différente.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/05/2011, 12h33   #3
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
Bonjour Grunk, et merci pour ta reponse.
je n'ai pas recu une notification de reponse, c'est que par hasard que je consulte cette page...

Merci pour le lien, je vais etudier la chose et te tiens informé.

A tres vite
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 00h03   #4
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
j'ai bien lu le lien que tu m'as donné mais je t'avoue avoir un peu de mal a le comprendre!!

au fait, si par exemple je te donne un droit "MODIFIER_ARTICLE", comment pourrais je preciser que tu peux UNIQUEMENT modifier les articles de la categorie A mais pas des autres??
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 18h21   #5
Futur Membre du Club
 
Inscription : avril 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 105
Points : 18
Points : 18
Slut,

si dans ton back office, toutes personnes connecté et identifié a le droit de faire tous, si en gros tout le monde est en "super utilisateur" tu peux mettre un fichier .htacess tout simplement, et les gens identifiés auront tous les droits.

Moi perso je viens de faire un système plus fin. J'ai rentrer toutes les pages du back office dans une BDD. Ensuite, j'ai fait une page dans le back office pour que le super utilisateur puisse donner des droits à des nouvelles personnes. Il lui donne un login, un mot de passe, et par des checkbox, il choisit ou non de donner les droits d'accès à une page du back office ( toutes les pages étant listés).
Tout ceci est alors stocké dans la BDD.

On se retrouve donc avec dans la BDD une table contenant les logins , les mots de passe, et tous les identifiants des pages autorisé.

Ensuite, au moment de la connexion au back office, on demande un login et un mdp. Si il est reconnu, tous les identifiants des pages autorisées sont passés en session. Ensuite une fonction "protect" qui se retrouve dans toutes les pages effectue un test pour savoir si l'identifiant de la page courante se retrouve dans les identifiants des pages passés en session. Si c'est le cas autorisée autrement rediriger..

Bon j'ai pas tout expliquer, mais le principe est là.
xavioche77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 13h29   #6
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
OK, merci beaucoup, je vais voir ca de plus pret!!
Merci encore une fois
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h27.


 
 
 
 
Partenaires

Hébergement Web