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

PHP & Base de données Discussion :

Espace membre : niveau d'accès


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Points : 460
    Points
    460
    Par défaut Espace membre : niveau d'accès
    Bonjour à tous,
    Sur mon site, j'ai un espace membres fonctionnel. Ce que je souhaite actuellement c'est définir des niveaux d'accès et de les ajouter aux membres. En parcourant le web, j'ai lu ceci dans un forum :
    Passe par des tests bit à bit.
    Chaque niveau doit être un carré de 2.
    Ainsi tu as:
    1 2 4 16 32 64 128 etc...

    Après tu peux cumuler les droits en additionnant.

    Exemple:
    - admin = 1
    - moderateur = 2
    - vip = 4
    - membre = 8

    Tu as:
    - toto => membre + modérateur + admin = 8 + 2 + 1 = 11
    - tata => membre + modérateur = 8 + 2 = 10
    - tutu => membre = 8

    Les tests de conditions seraient:
    - toto & membre => true
    - tata & admin => false
    - tata & modérateur => true

    Ainsi, les droits sont gérés beaucoup plus facilement.
    Tu as juste à dire, machin est un ... et aussi un ... ainsi qu'un ... etc...
    Quelqu'un pourrait m'aiguiller à mettre sur pieds cela ? Côté bdd et coté code php...

    Merci d'avance...

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Points : 460
    Points
    460
    Par défaut
    Je tiens surtout sur l'addition de droits, un membre x pouvant être en même temps modérateur et admin...

    Merci d'avance...

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Points : 348
    Points
    348
    Par défaut
    Il te faut une table des droits,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    id : 1 libelle : admin
    id : 2 libelle : modérateur...
    Et une table de relation avec tes membres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    id_utilisateur : 123 id_droit : 1
    d_utilisateur : 123 id_droit : 2
    d_utilisateur : 231 id_droit : 2
    Pensez à la balise [CODE].
    Aucune réponse aux questions par MP.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Points : 460
    Points
    460
    Par défaut
    @gwharl : merci mais quelqu'un aurait une idée sur l'addition fine des droits
    - toto => membre + modérateur + admin = 8 + 2 + 1 = 11
    - tata => membre + modérateur = 8 + 2 = 10
    - tutu => membre = 8

    Les tests de conditions seraient:
    - toto & membre => true
    - tata & admin => false
    - tata & modérateur => true
    Merci d'avance...

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Points : 348
    Points
    348
    Par défaut
    Ton idée est applicable mais personnellement je n'y adhère pas, tout simplement car par exemple si la somme des droits est 10, il existe de nombreuses façon d'obtenir ce résultat, c'est un coup à s’emmêler les pinceaux et à faire des erreurs dans les droits.
    Pensez à la balise [CODE].
    Aucune réponse aux questions par MP.

  6. #6
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    Par défaut
    pourquoi ne pas s'inspirer de linux/unix...
    le principe de read,write,execute (en bits)

    par exemple :
    admin = 100(base2) => 4(base10)
    modo = 10(base2) => 2(base10)
    user = 1(base2) => 1(base10)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Points : 460
    Points
    460
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    pourquoi ne pas s'inspirer de linux/unix...
    le principe de read,write,execute (en bits)

    par exemple :
    admin = 100(base2) => 4(base10)
    modo = 10(base2) => 2(base10)
    user = 1(base2) => 1(base10)
    Puis-je avoir un lien pour m'en inspirer?

    Merci d'avance...

  8. #8
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 451
    Points : 4 600
    Points
    4 600
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Points : 460
    Points
    460
    Par défaut
    Citation Envoyé par Doksuri Voir le message
    Merci pour le lien.

  10. #10
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Points : 460
    Points
    460
    Par défaut
    J'ai opté pour la solution de @gwharl, à savoir créer 2 tables, une pour droits et l'autre pour droits_membre.
    J'ai créé donc un membre Ilona (id:2) qui a les droits admin (1) et editeur (2) donc sur la table droits_membre on a :
    membre_id : 2, droit_id 1;
    membre_id : 2, droit_id 2;

    Dans les pages Php, après qu'un membre s'est identifié, je crée un variable de session renfermant un array des droits de ce membre de cette manière pour le membre Ilona :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['droits_member'] = array(1,2);
    Je souhaite donc savoir comment faire, qu'un membre a droit sur une page x donnée ?

Discussions similaires

  1. Réponses: 197
    Dernier message: 27/04/2021, 00h11
  2. Accès à un espace membre
    Par sachadup dans le forum Langage
    Réponses: 29
    Dernier message: 27/02/2015, 15h48
  3. Espace membre
    Par Sub0 dans le forum Langage
    Réponses: 474
    Dernier message: 14/11/2014, 15h23
  4. [MySQL] Erreur d'acces espace membre
    Par @rkane dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/01/2012, 11h58
  5. [Sécurité] Espace membre et accès sécurisé
    Par pierrot10 dans le forum Langage
    Réponses: 2
    Dernier message: 27/02/2008, 15h29

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