* Added section about LSauth configuration
   * Added sections about LSauthHTTP and LSauthCAS configuration
 * Added information about the paramter authObjectFilter of LDAP servers configuration
 * Udpated the tree of the project directory
This commit is contained in:
Benjamin Renard 2010-03-11 17:36:37 +01:00
parent 392d552619
commit 686b12f21f
10 changed files with 229 additions and 2 deletions

View file

@ -5,6 +5,8 @@
<!ENTITY php "<application><ulink url='http://www.php.net/'>PHP</ulink></application>"> <!ENTITY php "<application><ulink url='http://www.php.net/'>PHP</ulink></application>">
<!ENTITY openldap "<application><ulink url='http://www.openldap.org/'>OpenLDAP</ulink></application>"> <!ENTITY openldap "<application><ulink url='http://www.openldap.org/'>OpenLDAP</ulink></application>">
<!ENTITY courier "<application><ulink url='http://www.courier-mta.org/'>Courier</ulink></application>"> <!ENTITY courier "<application><ulink url='http://www.courier-mta.org/'>Courier</ulink></application>">
<!ENTITY CAS "<application><ulink url='http://www.jasig.org/cas'>CAS</ulink></application>">
<!ENTITY phpCAS "<application><ulink url='http://www.ja-sig.org/wiki/display/CASC/phpCAS'>phpCAS</ulink></application>">
<!ENTITY subDn "<link linkend='config-subDn'>subDn</link>"> <!ENTITY subDn "<link linkend='config-subDn'>subDn</link>">
<!ENTITY LSprofile "<link linkend='config-LSprofile'>LSprofile</link>"> <!ENTITY LSprofile "<link linkend='config-LSprofile'>LSprofile</link>">
@ -21,4 +23,5 @@
<!ENTITY LSformats "<link linkend='config-LSformat'>LSformats</link>"> <!ENTITY LSformats "<link linkend='config-LSformat'>LSformats</link>">
<!ENTITY LSaddon "<link linkend='config-LSaddon'>LSaddon</link>"> <!ENTITY LSaddon "<link linkend='config-LSaddon'>LSaddon</link>">
<!ENTITY LSaddons "<link linkend='config-LSaddon'>LSaddons</link>"> <!ENTITY LSaddons "<link linkend='config-LSaddon'>LSaddons</link>">
<!ENTITY LSauth "<link linkend='config-LSauth'>LSauth</link>">
<!ENTITY LSselect "<emphasis>LSselect</emphasis>"> <!ENTITY LSselect "<emphasis>LSselect</emphasis>">

View file

@ -15,6 +15,8 @@ book SYSTEM "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
%conf-LSattribute-check_data-entities; %conf-LSattribute-check_data-entities;
<!ENTITY % conf-LSaddon-entities SYSTEM "conf/LSaddon/LSaddon.entities.xml"> <!ENTITY % conf-LSaddon-entities SYSTEM "conf/LSaddon/LSaddon.entities.xml">
%conf-LSaddon-entities; %conf-LSaddon-entities;
<!ENTITY % conf-LSauth-entities SYSTEM "conf/LSauth/LSauth.entities.xml">
%conf-LSauth-entities;
<!ENTITY intro SYSTEM "intro/intro.docbook"> <!ENTITY intro SYSTEM "intro/intro.docbook">
<!ENTITY install SYSTEM "install/install.docbook"> <!ENTITY install SYSTEM "install/install.docbook">

14
doc/conf/LSauth.docbook Normal file
View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<sect1 id='config-LSauth'>
<title>Configuration des LSauths</title>
<para>
Cette partie décrit la manière de configurer les différentes librairies
d'authentification d'&LdapSaisie; appelée &LSauth;. Ces librairies peuvent
avoir un fichier de configuration et il sera alors stocké dans le dossier
<literal>conf/LSauth/</literal>.
</para>
&conf-LSauthHTTP;
&conf-LSauthCAS;
</sect1>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!ENTITY conf-LSauthHTTP SYSTEM "LSauthHTTP.docbook">
<!ENTITY conf-LSauthCAS SYSTEM "LSauthCAS.docbook">

View file

@ -0,0 +1,144 @@
<sect2 id="config-LSauthCAS">
<title>LSauthCAS</title>
<para>Cet &LSauth; est utilisé pour gérer l'authentification via un
service SSO &CAS;. Cette librairie doit être configuré en éditant le
fichier de configiration <literal>conf/LSauth/config.LSauthCAS.php</literal>.</para>
<programlisting linenumbering="unnumbered">
<citetitle>Structure du fichier</citetitle>/*
*****************************************************
* Configuration of the CAS authentification support *
*****************************************************
*/
// phpCAS Path (http://www.ja-sig.org/wiki/display/CASC/phpCAS)
define('PHP_CAS_PATH','/usr/share/php/CAS.php');
// phpCAS Debug File
// define('PHP_CAS_DEBUG_FILE','/tmp/phpCAS.log');
// Disable logout
define('LSAUTH_CAS_DISABLE_LOGOUT',false);
// CAS Server version (used constant name know by phpCAS : CAS_VERSION_1_0 or CAS_VERSION_2_0)
define('LSAUTH_CAS_VERSION','CAS_VERSION_2_0');
// CAS Server hostname
define('LSAUTH_CAS_SERVER_HOSTNAME','cas.univ.fr');
// CAS Server port
define('LSAUTH_CAS_SERVER_PORT',443);
// CAS Server URI (empty by default)
// define('LSAUTH_CAS_SERVER_URI','cas/');
// No SSL validation for the CAS server
define('LSAUTH_CAS_SERVER_NO_SSL_VALIDATION',false);
// CAS server SSL Certificate path
//define('LSAUTH_CAS_SERVER_SSL_CERT','');
// CAS server SSL CA Certificate path
//define('LSAUTH_CAS_SERVER_SSL_CACERT','');
</programlisting>
<!-- Début Paramètres Configuration -->
<variablelist>
<title>Paramètres de configuration</title>
<varlistentry>
<term>PHP_CAS_PATH</term>
<listitem>
<simpara>Le chemin d'accès du fichier <literal>CAS.php</literal> de
la librairie &phpCAS;. Le chemin d'exemple correspond au chemin résultant
d'une installation via PEAR sur une Debian (Lenny).</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>PHP_CAS_DEBUG_FILE</term>
<listitem>
<simpara>Chemin du fichier de log de la librairie &phpCAS;. Commenter
la ligne pour désactiver les logs.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>LSAUTH_CAS_DISABLE_LOGOUT</term>
<listitem>
<simpara>Booléen définissant si l'utilisateur peut se déconnecter du
serveur &CAS; depuis l'interface.</simpara>
<note><simpara>Remarque : l'appel de l'URL de déconnexion via une requête
<literal>GET</literal> supprimera la session &php; et donc la session
LdapSaisie sans déconnecter pour autant l'utilisateur au niveau du
serveur &CAS;. Cela peut donc permettre de gérer la déconnexion
automatique au niveau d'LdapSaisie suite à une déconnexion au niveau du
CAS à traver le concepte de <literal>Global Logout</literal>.</simpara></note>
</listitem>
</varlistentry>
<varlistentry>
<term>LSAUTH_CAS_VERSION</term>
<listitem>
<simpara>Nom de la constant &phpCAS; permettant de définir la version
CAS du serveur. Actuellement, la librairie &phpCAS; ne reconnait que
la constante <literal>CAS_VERSION_1_0</literal> pour la version 1 de
CAS ou la constante <literal>CAS_VERSION_2_0</literal> pour la version
2 de CAS.</simpara>
<note><simpara>Remarque : Des tests on montrés que l'utilisation d'une
compatibilité CAS version 2 peut également fonctionner sur un version
3 du serveur CAS.</simpara></note>
</listitem>
</varlistentry>
<varlistentry>
<term>LSAUTH_CAS_SERVER_HOSTNAME</term>
<listitem>
<simpara>Le nom d'hôte du serveur &CAS;.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>LSAUTH_CAS_SERVER_PORT</term>
<listitem>
<simpara>Le port d'écoute du serveur &CAS;.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>LSAUTH_CAS_SERVER_URI</term>
<listitem>
<simpara>Le dossier HTTP dans lequel se trouve le service &CAS;.
Exemple : Pour un service CAS accessible via l'URL
<literal>https://cas.univ.fr/cas/</literal>, la constante devra valoir
<literal>cas/</literal>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>LSAUTH_CAS_SERVER_NO_SSL_VALIDATION</term>
<listitem>
<simpara>Booléen permettant de désactiver la validation du certificat
SSL du serveur CAS lors des requêtes de validation des tickets CAS.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>LSAUTH_CAS_SERVER_SSL_CERT</term>
<listitem>
<simpara>Chemin d'accès du fichier contenant le certificat SSL du serveur
CAS au format PEM. Commenter la ligne pour désactiver ce paramètre.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>LSAUTH_CAS_SERVER_SSL_CACERT</term>
<listitem>
<simpara>Chemin d'accès du fichier contenant le certificat SSL de la
CA du serveur CAS au format PEM. Commenter la ligne pour désactiver
ce paramètre.</simpara>
</listitem>
</varlistentry>
</variablelist>
</sect2>

View file

@ -0,0 +1,18 @@
<sect2 id="config-LSauthHTTP">
<title>LSauthHTTP</title>
<para>Cet &LSauth; est utilisé 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>. Cet &LSauth; n'utilise ici
que la variable <literal>$_SERVER['PHP_AUTH_USER']</literal>. Si celle-ci
est présente, une recherche dans l'annuaire est effectué pour trouver
l'utilisateur correspondant. L'authentification réussi uniquement un et
un seul utilisateur est retourné par la recherche.</para>
<note><simpara>La recherche est effectuée sur une égalité
parfaite du RDN ou en utilisant le &LSformat; de fitre de recherche
<literal>authObjectFilter</literal> défini dans la
<link linkend='config-srv-ldap'>configuration du serveur LDAP</link>
</simpara></note>
</sect2>

View file

@ -18,5 +18,6 @@
&conf-LSobject; &conf-LSobject;
&conf-LSaddon; &conf-LSaddon;
&conf-LSauth;
</chapter> </chapter>

View file

@ -10,6 +10,8 @@
<!ENTITY conf-LSaddon SYSTEM "LSaddon.docbook"> <!ENTITY conf-LSaddon SYSTEM "LSaddon.docbook">
<!ENTITY conf-LSauth SYSTEM "LSauth.docbook">
<!ENTITY conf-LSobject SYSTEM "LSobject.docbook"> <!ENTITY conf-LSobject SYSTEM "LSobject.docbook">
<!ENTITY conf-LSobject-container_auto_create SYSTEM "LSobject/container_auto_create.docbook"> <!ENTITY conf-LSobject-container_auto_create SYSTEM "LSobject/container_auto_create.docbook">
<!ENTITY conf-LSobject-triggers SYSTEM "LSobject/triggers.docbook"> <!ENTITY conf-LSobject-triggers SYSTEM "LSobject/triggers.docbook">

View file

@ -16,12 +16,16 @@ serveur LDAP.</para>
'ldap_config'=> array( 'ldap_config'=> array(
// Définition des paramètres de connexion à l'annuaire // Définition des paramètres de connexion à l'annuaire
), ),
'LSauth' => array (
'method' => [LSauth method]
),
'LSprofiles' => array ( 'LSprofiles' => array (
// Définition des LSprofiles // Définition des LSprofiles
), ),
'cacheLSprofiles' => [boolean], 'cacheLSprofiles' => [boolean],
'cacheSearch' => [boolean], 'cacheSearch' => [boolean],
'authObjectType' => [LSobject], 'authObjectType' => [LSobject],
'authObjectFilter' => [LSformat],
'authObjectTypeAttrPwd' => [attribut], 'authObjectTypeAttrPwd' => [attribut],
'LSaccess' => array ( 'LSaccess' => array (
[Type LSobject 1], [Type LSobject 1],
@ -78,6 +82,19 @@ serveur LDAP.</para>
</varlistentry> </varlistentry>
<varlistentry>
<term>LSauth</term>
<listitem>
<simpara>Définition de la méthode d'authentification &LSauth;. Pour le
moment ce tableau associatif ne contient qu'un paramètre <parameter>
method</parameter> qui correpond au nom de la librairie d'authentification.
Exemple : pour utiliser la classe <literal>LSauthHTTP</literal>, la
valeur du paramètre <parameter>method</parameter> sera <literal>HTTP</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>cacheLSprofiles</term> <term>cacheLSprofiles</term>
<listitem> <listitem>
@ -105,6 +122,18 @@ serveur LDAP.</para>
</varlistentry> </varlistentry>
<varlistentry>
<term>authObjectFilter</term>
<listitem>
<simpara>&LSformat; du filtre de recherche de l'utilisateur à sa connexion.
Le LSformat sera composé avec la valeur de l'information fourni par l'utilisateur.
Cela peut pemettre par exemple de permettre à l'utilisateur de se connecter en
fournissant soit son login, soit son email. Exemple de valeur :
<literal>(|(uid=%{user})(mail=%{user}))</literal></simpara>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>authObjectTypeAttrPwd</term> <term>authObjectTypeAttrPwd</term>
<listitem> <listitem>

View file

@ -37,14 +37,21 @@
<varlistentry> <varlistentry>
<term><filename>LSobjects/</filename></term> <term><filename>LSobjects/</filename></term>
<listitem> <listitem>
<simpara>Configuration des LSobjets.</simpara> <simpara>Configuration des &LSobjects;.</simpara>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><filename>LSaddons/</filename></term> <term><filename>LSaddons/</filename></term>
<listitem> <listitem>
<simpara>Configuration des LSaddons.</simpara> <simpara>Configuration des &LSaddons;.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>LSauth/</filename></term>
<listitem>
<simpara>Configuration des &LSauth;.</simpara>
</listitem> </listitem>
</varlistentry> </varlistentry>