Page 1 sur 1

Peut-on récupérer le groupe d'un utilisateur apache en php ?

Posté : 29 mars 2010, 16:09
par GiorgioLino
Bonjour à tous,

j'essaie actuellement d'implémenter une système d'authentification/autorisation simple en utilisant le module d'authentification d'apache. Le tout se fait dans le cadre d'une application dont la page principale est en php. Ceci dit, dans un premier temps j'ai créé 2 groupes : admin et all-users. Ces groupes sont définis dans la conf apache(directive AuthGroupFile). Après connexion, je récupère le login et le mot de passe de l'utilisateur connecté via les variables

Code : Tout sélectionner

_SERVER["PHP_AUTH_USER"], _SERVER["PHP_AUTH_PW"]
Dans un second temps, j'aimerais afficher un menu dédié en me basant sur le groupe auquel appartient l'utilisateur. J'ai déjà essayé ceci

Code : Tout sélectionner

_SERVER["PHP_AUTH_GROUP"] et _SERVER["PHP_AUTH_GRP"]
sans succès.
D'où les interrogations :

Est-ce qu'il est possible de récupérer cette information ? Si oui, comment ?

Cordialement,

P.S.
Je suis également ouvert à toutes les propositions alternatives.

Re: Peut-on récupérer le groupe d'un utilisateur apache en php ?

Posté : 29 mars 2010, 16:13
par stealth35
hello, regarde ce que t'as de disponible dans :

print_r($_SESSION);

Re: Peut-on récupérer le groupe d'un utilisateur apache en php ?

Posté : 29 mars 2010, 16:28
par GiorgioLino
Salut et merci de t'intéresser à mon problème.

En fait le tableau _SESSION n'est pas défini car je n'ai pas encore créé de session. Et même en supposant que je démarre une session (ce que je ferai sans doute), il faudra quand même récupérer l'info (groupe auquel appartient l'utilisateur) d'une manière ou d'une autre. Donc pour moi la question reste posée.

Cela dit j'ai peut-être mal compris ta suggestion. Quelle était ton idée ?

Re: Peut-on récupérer le groupe d'un utilisateur apache en php ?

Posté : 29 mars 2010, 16:53
par stealth35
oula excuse moi je me suis tromper :

print_r($_SERVER);

Re: Peut-on récupérer le groupe d'un utilisateur apache en php ?

Posté : 29 mars 2010, 17:10
par GiorgioLino
Pas de quoi.

Ben en fait j'avais déjà regardé le tableau $_SERVER via le phpinfo(). Pas d'info non plus. A mon avis ça sent le roussi.

Re: Peut-on récupérer le groupe d'un utilisateur apache en php ?

Posté : 29 mars 2010, 17:16
par stealth35
techniquement si t'as l'utilisateur tu peux retrouver le group, un peu comme si t'utilise la meme chose avec un base SQL, t'a juste le login dans ta varialbe de serveur, par contre c'est a toi apres t'aller chercher les info dans la base

Re: Peut-on récupérer le groupe d'un utilisateur apache en php ?

Posté : 29 mars 2010, 17:44
par GiorgioLino
techniquement si t'as l'utilisateur tu peux retrouver le group
C'est ce que je penses aussi, vu que cette info est disponible sur le serveur. J'ajouterais juste un petit bémol
dans la mesure où un même user peut faire partie de plusieurs groupes, donc résultat = tableau (?)
un peu comme si t'utilise la même chose avec un base SQL,
Non justement. Je doute que ce soit aussi simple car je n'ai pas connaissance d'un langage de requête interne au serveur apache et qu'il n'est pas question d'aller lire soi-même dans les fichiers pour retrouver l'info (inutilement lourd).
Je précise d'ailleurs que ces infos sont dans la conf apache (fichiers) en l'occurrence ici dans des fichiers plats .htaccess, .htpasswd, .htgroup.
t'a juste le login dans ta varialbe de serveur, par contre c'est a toi apres t'aller chercher les info dans la base
Dans mon cas il n'y a pas de base [de données] puisque j'utilise des fichiers plats. Mais tu as raison de dire que c'est à moi d'aller chercher l'info, puisqu'elle existe. Et c'est justement le but de ce post car je ne vois pas comment et j'en viens à douter que ça existe.

Re: Peut-on récupérer le groupe d'un utilisateur apache en php ?

Posté : 29 mars 2010, 17:56
par stealth35
si c'est sous unix tu pourrais recurperer les group en ligne de command
echo shell_exec('id' . $_SERVER["PHP_AUTH_USER"]);