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 :

privilège des utilisateurs -> redirection


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 17
    Par défaut privilège des utilisateurs -> redirection
    Bonjour,

    Alors pour l'instant dans ma page de connexion je fait un test sur le couple loginUtilisateur et passwordUtilisateur pour avoir accès à un menu.

    Mais maintenant je veux, que selon le privilège de l'utilisateur qui se connecte via la page de connexion, lui permet d'avoir un menu différent.

    Exemple :

    adminisatrateur : accès à tous les liens du menu
    utilisateur de base : accès restreint pour certains menu
    etc...

    Mon menu est affiché sur toutes les pages via un include, sauf à la page de connexion.

    Ma table privilège contient :

    codePrivilege clé primaire
    typePrivilege
    utilisateurPrivilege

    Mon script de connexion :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    if (!isset($_POST['loginUtilisateur']))
     
        {
          echo "
          <form method='post' action='index.php'>
          <TABLE>
          <TR>
          <TD>Login utilisateur</TD>      
            <TD><input type='text' name='loginUtilisateur'></TD>     
          </TR>
          <TR>
          <TD>Mot de passe</TD>       
          <TD><input type='password' name='passwordUtilisateur'></TD>      
          </TR>
          </TABLE></br>      
            <input class='bouton'' type='submit' value ='Identification'>
            <a href='formulaireMail.php'>mot de passe oublié</a>
          </form></br>
     
              ";
        }
     
    else
     
        {
          $loginUtilisateur=$_POST['loginUtilisateur'];
          $passwordUtilisateur=$_POST['passwordUtilisateur'];
     
         $ligne=extraireUneLigne("select passwordUtilisateur from ccf_Utilisateur where loginUtilisateur='$loginUtilisateur'");
     
         if ($ligne)
            {if ($ligne['passwordUtilisateur']==$passwordUtilisateur)
                {
                  echo "Identification réussie<br>";
                  $_SESSION['loginUtilisateur']=$loginUtilisateur;
                  echo"<a href='authentification.php'>Accès au menu</a>";
                }
             else
                {             
                 echo "Mot de passe erroné<br>";
                 echo"<a href='index.php'>Nouvel essai</a>";            
                }
            }
         else
            {
              echo "Login utilisateur inconnu<br>";
              echo"<a href='index.php'>Nouvel essai</a>"; 
            }      
       }
    EDIT :

    Je pensai à faire dans mon include qui affiche le menu, un test sur le privilège.
    Si codePrivilege = 1 -> echo"menu1"
    Si codePrivilege = 2 -> echo"menu2" etc...

    Vous en pensez quoi ?

    Merci de m'aider.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu veux un cran au dessus, tu gères tes menus dans ta base, ca te permet de les définir dans la partie données et non pas dans le code.

    Il ne faut pas oublier de controler les droits dans les pages de destination.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 17
    Par défaut
    D'accord, comment gérer les menus dans ma base ?

    Et pour les droits dans les pages de destination, tu veux dire chaque pages qui affichent un menu ? ou la page du menu elle même ?

    Merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Au lieu d'avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($droit == 1) { echo"menu1"; }
    Tu aurais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "SELECT menus FROM table WHERE droit = " . $droit;
    echo $resultat;
    Pour la sécurité si le droit admin donne accès à un menu qui renvoi vers admin.php par exemple, il faut que dans admin.php tu vérifies à nouveau que l'utilisateur a bien le droit admin.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 17
    Par défaut
    Je préfère faire plus simple si possible.

    Juste que une fois logué,

    Si l'utilisateur appartient au privilège 1 -> echo menu1
    Si l'utilisateur appartient au privilège 2 -> echo menu2
    Si l'utilisateur appartient au privilège 3 -> echo menu3

    Merci

  6. #6
    Membre chevronné
    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
    Par défaut
    Tu perd en dynamisme pour l'avenir la par contre.

    Table privilege : id_priv, libelle_priv (ex: 1, admin)

    clé étrangère dans utilisateur en réf à privilege.id_priv

    Tu charge tes données utilisateur dont la clé étrangère :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['privilege'] = $req['util_id_priv'];
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if($_SESSION['privilege'] == 1)
    {
       echo "<a href='#'>poney</a>";
    }
    C'est fortement optimisable.

Discussions similaires

  1. Les privilèges des utilisateurs
    Par linux user dans le forum Administration
    Réponses: 7
    Dernier message: 17/09/2013, 21h08
  2. [SP-2007] Redirection des utilisateurs
    Par nouvintou dans le forum SharePoint
    Réponses: 1
    Dernier message: 23/04/2011, 06h52
  3. Réponses: 13
    Dernier message: 02/12/2007, 11h39
  4. privilèges des utilisateurs sur postgresql
    Par naim1982 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 19/01/2007, 18h17
  5. Réponses: 3
    Dernier message: 03/05/2005, 18h18

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