LSauthMethod_HTTPCette &LSauthMethod; est utilisée pour gérer l'authentification
via les variables d'environnements définies suite à une authentification
gérée par le serveur HTTP. En &php;, ces informations sont consultables
via les variables $_SERVER['PHP_AUTH_USER'] et
$_SERVER['PHP_AUTH_PW']. Si la variable
$_SERVER['PHP_AUTH_USER'] est présente, une recherche
dans l'annuaire est effectué pour trouver l'utilisateur correspondant.
L'authentification réussie uniquement si un et un seul utilisateur est
retourné par la recherche et si une authentification auprès de l'annuaire
LDAP réussie à l'aide du DN de l'objet LDAP trouvé et du mot de passe issu
de la variable $_SERVER['PHP_AUTH_PW'].La recherche de l'utisateur est effectuée sur une égalité
parfaite du RDN ou en utilisant le &LSformat; de fitre de recherche
authObjectFilter défini dans la
configuration du serveur LDAP
Cette librairie peut être configurée en éditant le fichier de
configiration
conf/LSauth/config.LSauthMethod_HTTP.php.Structure du fichier/*
*****************************************************
* Configuration of the HTTP authentification support *
*****************************************************
*/
// Don't check HTTP server's login/password by LDAP authentication challenge
//define('LSAUTHMETHOD_HTTP_TRUST_WITHOUT_PASSWORD_CHALLENGE',true);
Paramètres de configurationLSAUTHMETHOD_HTTP_TRUST_WITHOUT_PASSWORD_CHALLENGEPermet de désactiver le test d'authentification auprès de
l'annuaire LDAP. Pour cela, cette constante doit être définie et
valoir True.LSAUTHMETHOD_HTTP_METHODPermet de définir la méthode utilisée par le serveur HTTP pour passer
à PHP l'identifiant de l'utilisateur connecté et son mot de passe.Cette constance peut pendre les valeurs suivantes :
PHP_PASSDans cette méthode, le serveur HTTP défini les variables
d'environnement PHP_AUTH_USER et
PHP_AUTH_PW. Cette méthode est la méthode par défaut et
convient en cas d'utilisation de mod_php.REMOTE_USERDans cette méthode, le serveur HTTP défini la variable
d'environnement REMOTE_USER. Cette variable ne contient
que l'identifiant de l'utilisateur connecté. Cette méthode ne peut donc
être utilisée que conjointement avec l'activation du paramètre
LSAUTHMETHOD_HTTP_TRUST_WITHOUT_PASSWORD_CHALLENGE.
AUTHORIZATIONDans cette méthode, le serveur HTTP passe le contenu de l'entête
HTTP Authorization dans la variable d'environnement
HTTP_AUTHORIZATION. Cette méthode convient en cas d'
utilisation de PHP en mode CGI ou encore via PHP-FPM.Pour utiliser cette méthode, il faudra adapter la configuration du
serveur HTTP. Par exemple, pour Apache HTTPd, vous pouvez utiliser le
module rewrite et la règle de réécriture suivante :