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 :

htpasswd et menu personnalisé


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut htpasswd et menu personnalisé
    Bonsoir à tous,

    N'étant pas vraiment développeur dans l'âme, je souhaites m'appuyer auprès de cette communauté pour trouver la bonne info.

    Mon besoin étant le suivant :

    - J'ai un serveur Nagios avec différents utilisateurs authentifiés par .htpasswd
    - Je souhaiterai que chaque utilisateur authentifié puisse avoir un menu latéral personnalisé.

    Ce que j'ai imaginé : lorsqu'un utilisateur est connecté, 3 frames sont affichés
    dont side.php qui constitue le menu latéral.

    Au sein de la page side.php

    Si utilisateur = nagiosadmin ou admin ==> affichage d'un menu X
    Si utilisateur = user1 ou user2 ==> affichage d'un menu Y

    Pour l'instant voici le contenu de ma page latéral, j'arrive à afficher le nom de l'utilisateur connecté mais je ne connais pas assez PHP pour afficher un menu en fonction de l'utilisateur

    Pouvez-vous m'aider sur le sujet?

    Merci à tous.

    D.

    code side.php
    -------------
    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
     
    <?php
     
        require_once 'http_authenticate.php';
     
        if(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])){
            // this simply means that they have submitted the login form for this realm
            $auth=http_authenticate($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']);
            define('USER_AUTHENTICATED',$auth);
        }
     
        if(defined('USER_AUTHENTICATED') && USER_AUTHENTICATED){
            // authentication successful - show the content
     
            echo '<?xml version="1.0" encoding="iso-8859-1"?>',"\n";
     
        include_once(dirname(__FILE__).'/includes/utils.inc.php');
        $link_target="main";
    ?>
     
    <html>
        <head>
        <meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
        <title>Nagios</title>
        </head>
        <body>
     
     
    /**** Contenu du menu ****/
     
            <table width="100%" border="0">
                    <tr>
                            <td align="center"><span class="connected">Vous &ecirc;tes connect&eacute; en tant que <b><?php echo $_SERVER['PHP_AUTH_USER'] ?></b>.</span></td>
                    </tr>
            </table>
            </div>
    </body>
    </html>
     
    <?php
        }else{
            // the user has not been authenticated, present a login form.
            header('WWW-Authenticate: Basic realm="Nagios Web Access"');
            header('HTTP/1.0 401 Unauthorized');
     
            // if cancel the login form, below is what they get
            exit('Authentification requise pour visualiser cette page.');
        }
    ?>

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    => juste une question, une fois que tu es authentifié la premiere fois, lorsque tu recharches la page, tu es encore identifié?

    => je pense que IF () {} else {} est la structure idéale proposé par PHP pour faire ce dont tu as besoin. par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ( $auth === ???? )
    {
     appel_fonction_menu_admin();
    }
    else
    {
    appel_fonction_menu_peon();
    }
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Q: juste une question, une fois que tu es authentifié la premiere fois, lorsque tu recharches la page, tu es encore identifié?
    R: oui

    IF/ELSE semble effectivement correspondre, mon nom d'utilisateur est stocké dans $_SERVER['PHP_AUTH_USER'.

    Est-ce que ça donnerait quelque chose comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if ($_SERVER['PHP_AUTH_USER']==nagiosadmin || $_SERVER['PHP_AUTH_USER']==admin){
        appel_fonction_menu_admin();
    }
    else{
        appel_fonction_menu_user();
    }
    Comment créer une fonction PHP qui inclue une page html complète ? Il existe des contraintes avec les " et les ' ?

    Merci.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut UP
    UP

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/06/2006, 13h19
  2. Réponses: 9
    Dernier message: 30/05/2006, 19h38
  3. Réponses: 5
    Dernier message: 05/05/2006, 20h18
  4. Icone fond transparent pour menu personnalisé
    Par gbuxo dans le forum Access
    Réponses: 17
    Dernier message: 14/04/2006, 06h20
  5. Réponses: 9
    Dernier message: 14/10/2003, 15h35

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