<sect2 id="config-LSauthMethod_HTTP"> <title>LSauthMethod_HTTP</title> <para>Cette &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 <literal>$_SERVER['PHP_AUTH_USER']</literal> et <literal>$_SERVER['PHP_AUTH_PW']</literal>. Si la variable <literal>$_SERVER['PHP_AUTH_USER']</literal> 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 <literal>$_SERVER['PHP_AUTH_PW']</literal>.</para> <para>Cette librairie peut être configurée en éditant le fichier de configiration <literal>conf/LSauth/config.LSauthMethod_HTTP.php</literal>.</para> <programlisting linenumbering="unnumbered"> <citetitle>Structure du fichier</citetitle>/* ***************************************************** * 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); </programlisting> <!-- Début Paramètres Configuration --> <variablelist> <title>Paramètres de configuration</title> <varlistentry> <term>LSAUTHMETHOD_HTTP_TRUST_WITHOUT_PASSWORD_CHALLENGE</term> <listitem> <para>Permet de désactiver le test d'authentification auprès de l'annuaire LDAP. Pour cela, cette constante doit être définie et valoir <literal>True</literal>.</para> </listitem> </varlistentry> <varlistentry> <term>LSAUTHMETHOD_HTTP_METHOD</term> <listitem> <para>Permet 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.</para> <para>Cette constance peut pendre les valeurs suivantes : <variablelist> <varlistentry> <term>PHP_PASS</term> <listitem> <para>Dans cette méthode, le serveur HTTP défini les variables d'environnement <literal>PHP_AUTH_USER</literal> et <literal> PHP_AUTH_PW</literal>. Cette méthode est la méthode par défaut et convient en cas d'utilisation de <literal>mod_php</literal>.</para> </listitem> </varlistentry> <varlistentry> <term>REMOTE_USER</term> <listitem> <para>Dans cette méthode, le serveur HTTP défini la variable d'environnement <literal>REMOTE_USER</literal>. 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 <literal>LSAUTHMETHOD_HTTP_TRUST_WITHOUT_PASSWORD_CHALLENGE</literal>. </para> </listitem> </varlistentry> <varlistentry> <term>AUTHORIZATION</term> <listitem> <para>Dans cette méthode, le serveur HTTP passe le contenu de l'entête HTTP <literal>Authorization</literal> dans la variable d'environnement <literal>HTTP_AUTHORIZATION</literal>. Cette méthode convient en cas d' utilisation de PHP en mode CGI ou encore via PHP-FPM.</para> <para>Pour utiliser cette méthode, il faudra adapter la configuration du serveur HTTP. Par exemple, pour Apache HTTPd, vous pouvez utiliser le module <literal>rewrite</literal> et la règle de réécriture suivante : <programlisting linenumbering="unnumbered"> <![CDATA[RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]]]> </programlisting> </para> </listitem> </varlistentry> </variablelist> </para> </listitem> </varlistentry> <varlistentry> <term>LSAUTHMETHOD_HTTP_LOGOUT_REMOTE_URL</term> <listitem> <para>URL de déconnexion externe, utile par exemple dans le contexte d'une connexion via un service SSO. L'utilisateur sera automatiquement redirigé vers cette URL après sa déconnexion effective au niveau d'LdapSaisie.</para> <note><simpara>Si cette URL de déconnexion n'est pas défini, le bouton de déconnexion sera masqué.</simpara></note> </listitem> </varlistentry> </variablelist> </sect2>