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

Laravel PHP Discussion :

Gestion des profils et droits d'accès


Sujet :

Laravel PHP

  1. #1
    Débutant  
    Inscrit en
    mars 2008
    Messages
    1 104
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 1 104
    Points : 170
    Points
    170
    Par défaut Gestion des profils et droits d'accès
    Bonsoir,
    dans la table users, j'ai ajouté un champ profil, qui peut avoir comme valeur: professeur, étudiant, admin
    j'ai aussi un menu qui contient des sous menus qui doivent être affichés selon le profil connecté
    et comment je peux sécuriser mes pages tel que page professeur ne s'affiche pas pour le profil étudiant
    Merci

  2. #2
    Expert confirmé Avatar de Séb.
    Profil pro
    Inscrit en
    mars 2005
    Messages
    3 436
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2005
    Messages : 3 436
    Points : 4 580
    Points
    4 580
    Par défaut
    À la connexion de l'utilisateur, tu peux passer le profil en variable de session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    // Connexion
    // [...]
    $_SESSION['user']['id'] = $row['user_id'];
    ...
    $_SESSION['user']['profile'] = $row['user_profile']; // Enregistrement du profil en session
    Puis, dans tes pages web, afficher ou non certaines sections selon le profil, pour un menu ça donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ul>
        <li><a href="home.php">Accueil</a></li>
        <li>...</li>
        <?php if ($_SESSION['user']['profile'] === 'professeur'): ?>
            <li><a href="corrections.php">Corrections</a></li>
        <?php endif ?>
    </ul>
    Bien sûr il faut ensuite protéger les pages, pour corrections.php, tout en haut du script ça pourrait donner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    session_start();
     
    if (!isset($_SESSION['user']['profile'])) {
        exit('Seuls les utilisateurs connectés ont accès à cette page');
    }
     
    if ($_SESSION['user']['profile'] !== 'professeur') {
        exit('Seuls les professeurs ont accès à cette page');
    }
     
    ...
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Débutant  
    Inscrit en
    mars 2008
    Messages
    1 104
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 1 104
    Points : 170
    Points
    170
    Par défaut
    Je travaille avec leframework laravel et non avec le php classique*

Discussions similaires

  1. [WD22] Gestion des profils utilisateurs et droits d'accès au menu
    Par Ptrous dans le forum WinDev
    Réponses: 6
    Dernier message: 11/02/2019, 20h10
  2. Gestion des groupes et droits d'acces
    Par Megbenedicte dans le forum Odoo (ex-OpenERP)
    Réponses: 0
    Dernier message: 14/06/2016, 12h19
  3. Réponses: 1
    Dernier message: 17/07/2012, 22h00
  4. Gestion des profils et droits
    Par gnaoui_9999 dans le forum Struts 1
    Réponses: 0
    Dernier message: 14/01/2009, 17h19
  5. Gestion des profils
    Par tleboukaka dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/09/2005, 21h33

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