Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous !
Je me suis mis tout récemment à utiliser Zend pour un projet qui comporte une gestion des requete PUT et DELETE de HTTP ainsi qu'une basic Authentication et du moissonnage de données.
La partie sur les requetes http s'est plutôt bien passé mais j'ai un soucis au niveau de l'authentification.
J'ignore comment tester les valeur entrées par l'utilisateur. J'ai essayé dans mon controller de mettre $this->getRequest()->getHeader() mais cela ne fonctionne pas.
J'ai aussi essayé la méthode banale qui est de faire un header('WWW-Authenticate: Basic'); et tester la variable $_SERVER['PHP_AUTH_USER'] mais rien n'y fait. La pop-up qui demande le mot de passe vient en boucle.
Voilà le code que j'utilise pour tenter de récupérer les données entrée coté client.
$PHP_AUTH_USER = $_SERVER['PHP_AUTH_USER'];
if($PHP_AUTH_USER=="")
{
header('WWW-Authenticate: Basic');
}
echo $PHP_AUTH_USER;
Dernière modification par Rouzz (12-07-2010 14:09:32)
Hors ligne
En réalité c'était OVH qui utilise PHP en script SGI et pas en module Apache, donc il zappe le header Authorization.
Solution :
mettre dans le .htaccess :
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]
et ensuite echo $_SERVER['REMOTE_USER'];
Ne pas oublier qu'il faut le décoder à ce moment là
Hors ligne