Gestion des droits des utilisateurs d'un site

Gestion des droits des utilisateurs d'un site - PHP - Programmation

Marsh Posté le 29-03-2011 à 09:27:52    

Bonjour,
 
Je suis en train de réfléchir à la mise en place d'une gestion des droits sur un site.
 
Pour simplifier, je souhaite qu'un utilisateur inscrit puisse accéder à certaines pages selon son groupe (user, admin, direction...)
 
Jusque la, j'ai réfléchi aux tables nécessaires et j'aimerai avoir votre avis la dessus:
 
Il y a déjà une table 'page' (que je simplifie) :
page(id_page, titre, contenu)
 
Donc il y aurait 4 tables
 
user(id_user, login, mdp)  Table contenant la liste des users
groupe(id_groupe, nom)  Table contenant la liste des groupes
userGroupe(id_userGroupe, id_user, id_groupe)  table contenant les associations des users et des groupes (un user peut être dans plusieurs groupes)
autorisation(id_autorisation, id_page, id_groupe)  Table contenant les associations des pages et des groupes

Et j'ajouterai à la table 'page' :
page(id_page, titre, contenu, id_groupe)

 
Ensuite à chaque chargement de page je vérifie si le groupe du user connecté à l'autorisation de charger la page.  
 
Est-ce que je m'y prends bien ? Est ce suffisant ? Y'a t-il plus simple ?
 
Merci pour vos avis


Message édité par egege le 29-03-2011 à 09:53:09
Reply

Marsh Posté le 29-03-2011 à 09:27:52   

Reply

Marsh Posté le 29-03-2011 à 09:41:52    

Pourquoi ajouter à la table page ?
Dans autorisation tu peux autoriser plusieurs groupes pour ta page,
si tu le reportes dans page, tu ne peux en stocker qu'un.
 
Sinon ne stocke pas le mdp en clair.
 

Reply

Marsh Posté le 29-03-2011 à 09:52:38    

Tu as parfaitement raison, c'est vrai que je m'y perd un peu à force de réfléchir à ça.  
 
Pour les mdp ils ne seront pas stockés en clair ;)
 
Sinon sur le principe, c'est bien comme méthode ?  
 

Reply

Marsh Posté le 29-03-2011 à 12:46:35    

Tu n'as pas besoin de la clé id_userGroupe.

Reply

Marsh Posté le 29-03-2011 à 14:43:40    

Pourquoi ? Il n'y a pas d'identifiant unique sinon dans ma tabe

Reply

Marsh Posté le 29-03-2011 à 14:53:40    

en as tu besoin ?
Concrètement, quand ton utilisateur se connecte, tu vas faire des jointures pour savoir quelles pages il peut charger.
 
Tu utiliseras uniquement les clés étrangères, pas les clés primaires des tables de liaison.
Dans la table userGroupe, la clé primaire est (id_user, id_groupe).
Tu n'auras pas l'utilité d'un id.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed