Doc :
authorBenjamin Renard <brenard@aconit.easter-eggs.fr>
Thu, 11 Mar 2010 16:36:37 +0000 (17:36 +0100)
committerBenjamin Renard <brenard@aconit.easter-eggs.fr>
Thu, 11 Mar 2010 16:36:37 +0000 (17:36 +0100)
 * 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

doc/LS.entities.xml
doc/LdapSaisie.docbook
doc/conf/LSauth.docbook [new file with mode: 0644]
doc/conf/LSauth/LSauth.entities.xml [new file with mode: 0644]
doc/conf/LSauth/LSauthCAS.docbook [new file with mode: 0644]
doc/conf/LSauth/LSauthHTTP.docbook [new file with mode: 0644]
doc/conf/conf.docbook
doc/conf/conf.entities.xml
doc/conf/srv-ldap.docbook
doc/install/arbo.docbook

index 8edeb0b..44e8559 100644 (file)
@@ -5,6 +5,8 @@
 <!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 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 LSprofile "<link linkend='config-LSprofile'>LSprofile</link>">
@@ -21,4 +23,5 @@
 <!ENTITY LSformats "<link linkend='config-LSformat'>LSformats</link>">
 <!ENTITY LSaddon "<link linkend='config-LSaddon'>LSaddon</link>">
 <!ENTITY LSaddons "<link linkend='config-LSaddon'>LSaddons</link>">
+<!ENTITY LSauth "<link linkend='config-LSauth'>LSauth</link>">
 <!ENTITY LSselect "<emphasis>LSselect</emphasis>">
index b49fca7..245513d 100644 (file)
@@ -15,6 +15,8 @@ book SYSTEM "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
   %conf-LSattribute-check_data-entities;
   <!ENTITY % conf-LSaddon-entities SYSTEM "conf/LSaddon/LSaddon.entities.xml">
   %conf-LSaddon-entities;
+  <!ENTITY % conf-LSauth-entities SYSTEM "conf/LSauth/LSauth.entities.xml">
+  %conf-LSauth-entities;
 
   <!ENTITY intro SYSTEM "intro/intro.docbook">
   <!ENTITY install SYSTEM "install/install.docbook">
diff --git a/doc/conf/LSauth.docbook b/doc/conf/LSauth.docbook
new file mode 100644 (file)
index 0000000..aba7050
--- /dev/null
@@ -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>
diff --git a/doc/conf/LSauth/LSauth.entities.xml b/doc/conf/LSauth/LSauth.entities.xml
new file mode 100644 (file)
index 0000000..d4e0019
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!ENTITY conf-LSauthHTTP SYSTEM "LSauthHTTP.docbook">
+<!ENTITY conf-LSauthCAS SYSTEM "LSauthCAS.docbook">
+
+
+
+
diff --git a/doc/conf/LSauth/LSauthCAS.docbook b/doc/conf/LSauth/LSauthCAS.docbook
new file mode 100644 (file)
index 0000000..0ab427f
--- /dev/null
@@ -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>
diff --git a/doc/conf/LSauth/LSauthHTTP.docbook b/doc/conf/LSauth/LSauthHTTP.docbook
new file mode 100644 (file)
index 0000000..19b4070
--- /dev/null
@@ -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>
index 83b1a91..b7e9e37 100644 (file)
@@ -18,5 +18,6 @@
 
 &conf-LSobject;
 &conf-LSaddon;
+&conf-LSauth;
 
 </chapter>
index 51c2311..7e19088 100644 (file)
@@ -10,6 +10,8 @@
 
 <!ENTITY conf-LSaddon SYSTEM "LSaddon.docbook">
 
+<!ENTITY conf-LSauth SYSTEM "LSauth.docbook">
+
 <!ENTITY conf-LSobject SYSTEM "LSobject.docbook">
 <!ENTITY conf-LSobject-container_auto_create SYSTEM "LSobject/container_auto_create.docbook">
 <!ENTITY conf-LSobject-triggers SYSTEM "LSobject/triggers.docbook">
index 80f75af..f33b8e2 100644 (file)
@@ -16,12 +16,16 @@ serveur LDAP.</para>
       'ldap_config'=> array(
         // Définition des paramètres de connexion à l'annuaire
       ),
+      'LSauth' => array (
+        'method' => [LSauth method]
+      ),
       'LSprofiles' => array (
         // Définition des LSprofiles
       ),
       'cacheLSprofiles' => [boolean],
       'cacheSearch' => [boolean],
       'authObjectType' => [LSobject],
+      'authObjectFilter' => [LSformat],
       'authObjectTypeAttrPwd' => [attribut],
       'LSaccess' => array (
         [Type LSobject 1],
@@ -79,6 +83,19 @@ serveur LDAP.</para>
 
 
 <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>
   <term>cacheLSprofiles</term>
   <listitem>
     <simpara>Activation/Désactivation de la mise en cache des &LSprofiles; des 
@@ -106,6 +123,18 @@ serveur LDAP.</para>
 
 
 <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>
   <term>authObjectTypeAttrPwd</term>
   <listitem>
     <simpara>Nom de l'attribut "mot de passe" du type d'&LSobject; utilisé pour 
index 346f397..e29b509 100644 (file)
                 <varlistentry>
                   <term><filename>LSobjects/</filename></term>
                   <listitem>
-                    <simpara>Configuration des LSobjets.</simpara>
+                    <simpara>Configuration des &LSobjects;.</simpara>
                   </listitem>
                 </varlistentry>
                 
                 <varlistentry>
                   <term><filename>LSaddons/</filename></term>
                   <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>
                 </varlistentry>