Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2011, 20h16   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 4
Points : 0
Points : 0
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 :
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.');
    }
?>
damxam23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 21h12   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
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 : 951
Points : 1 063
Points : 1 063
=> 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 :
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 Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 21h25   #3
Invité de passage
 
Inscription : octobre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 4
Points : 0
Points : 0
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 :
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.
damxam23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2011, 09h43   #4
Invité de passage
 
Inscription : octobre 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 4
Points : 0
Points : 0
Par défaut UP

UP
damxam23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h26.


 
 
 
 
Partenaires

Hébergement Web