IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Gérer les droits des utilisateurs : MySQL ou fichier XML


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 177
    Par défaut Gérer les droits des utilisateurs : MySQL ou fichier XML
    Bonjour,

    J'aimerais pouvoir gérer les droits de mes utilisateurs sans avoir à modifier le code des pages concernées. J'ai donc affecté mes utilisateurs à des groupes et j'aimerais définir les pages accessibles à chaque groupe.

    Les URL des pages de mon site étant du type "index.php?section=boutique&action=fiche_produit", je pourrais facilement contrôler si l'utilisateur a les droits suffisant pour afficher la page, avant d'instancier la classe concernée (dans ce exemple la classe "boutique"), et d'appeler la méthode voulue (ici fiche_produit() ).
    D'autre part, je pensais créer une table MySQL listant les pages accessibles à chaque groupe, et enregistrer dans une variable de session l'ensemble des pages accessibles à l'utilisateur, lors de son arrivée sur le site puis de son éventuelle identification.

    Cependant, j'hésite entre enregistrer ces droits en BDD ou dans un fichier XML :
    - D'un coté, je suis plus à l'aise dans l'utilisation des BDD, et je me demande s'il ne serait pas plus simple de mettre à jour ces droits en cas d'ajout de groupe ou de page ou de modification des droits, et plus rapide de trouver les droits d'un groupe par ce procédé. Enfin, j'ai peur que la taille du fichier soit un peu trop importante, s'il y a beaucoup de pages et de groupe. On pourrait imaginer qu'il y ait 1000 droits lister (10 groupes, 20 sections, et 5 actions possibles par section). Ne serait-il pas lourd de lire l'ensemble de ce fichier à chaque nouveau visiteur?
    - D'un autre, enregistrer ces informations en BDD fait qu'en cas de saturation ou d'indisponibilité de la base, tout nouveau visiteur se retrouverait bloqué, ne pouvant pas connaître ses droits.

    Quelle serait d'après vous la solution la plus adaptée à cette problématique?

    Merci d'avance pour vos réponses!

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Salut,

    MySQL a fait ses preuves depuis longtemps en termes de performances et de disponibilité.
    De plus, le besoin de mise à jour que tu évoques fait clairement pencher la balance en faveur d'une gestion par SGBD.
    Enfin, cela te permettra de sélectionner les droits "à la volée", sans avoir à les charger tous en mémoire.

Discussions similaires

  1. [1.x] Gérer les droits des utilisateurs ("dredentials")
    Par misswatson dans le forum Symfony
    Réponses: 9
    Dernier message: 11/06/2012, 15h34
  2. gérer des utilisateurs avec un fichier XML
    Par ryoussef19 dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 08/06/2007, 10h20
  3. Réponses: 3
    Dernier message: 13/04/2006, 13h08
  4. Gérer les droits des utilisateurs
    Par rsc dans le forum Langage
    Réponses: 6
    Dernier message: 22/08/2005, 20h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo