From 686b12f21f821fd5bb094a6a5cb031e99fb67cde Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Thu, 11 Mar 2010 17:36:37 +0100 Subject: [PATCH] Doc : * 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 | 3 + doc/LdapSaisie.docbook | 2 + doc/conf/LSauth.docbook | 14 +++ doc/conf/LSauth/LSauth.entities.xml | 7 ++ doc/conf/LSauth/LSauthCAS.docbook | 144 ++++++++++++++++++++++++++++ doc/conf/LSauth/LSauthHTTP.docbook | 18 ++++ doc/conf/conf.docbook | 1 + doc/conf/conf.entities.xml | 2 + doc/conf/srv-ldap.docbook | 29 ++++++ doc/install/arbo.docbook | 11 ++- 10 files changed, 229 insertions(+), 2 deletions(-) create mode 100644 doc/conf/LSauth.docbook create mode 100644 doc/conf/LSauth/LSauth.entities.xml create mode 100644 doc/conf/LSauth/LSauthCAS.docbook create mode 100644 doc/conf/LSauth/LSauthHTTP.docbook diff --git a/doc/LS.entities.xml b/doc/LS.entities.xml index 8edeb0bb..44e8559e 100644 --- a/doc/LS.entities.xml +++ b/doc/LS.entities.xml @@ -5,6 +5,8 @@ PHP"> OpenLDAP"> Courier"> +CAS"> +phpCAS"> subDn"> LSprofile"> @@ -21,4 +23,5 @@ LSformats"> LSaddon"> LSaddons"> +LSauth"> LSselect"> diff --git a/doc/LdapSaisie.docbook b/doc/LdapSaisie.docbook index b49fca7d..245513d3 100644 --- a/doc/LdapSaisie.docbook +++ b/doc/LdapSaisie.docbook @@ -15,6 +15,8 @@ book SYSTEM "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" %conf-LSattribute-check_data-entities; %conf-LSaddon-entities; + + %conf-LSauth-entities; diff --git a/doc/conf/LSauth.docbook b/doc/conf/LSauth.docbook new file mode 100644 index 00000000..aba70503 --- /dev/null +++ b/doc/conf/LSauth.docbook @@ -0,0 +1,14 @@ + + + Configuration des LSauths + + 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 + conf/LSauth/. + + + &conf-LSauthHTTP; + &conf-LSauthCAS; + + diff --git a/doc/conf/LSauth/LSauth.entities.xml b/doc/conf/LSauth/LSauth.entities.xml new file mode 100644 index 00000000..d4e00197 --- /dev/null +++ b/doc/conf/LSauth/LSauth.entities.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/doc/conf/LSauth/LSauthCAS.docbook b/doc/conf/LSauth/LSauthCAS.docbook new file mode 100644 index 00000000..0ab427f2 --- /dev/null +++ b/doc/conf/LSauth/LSauthCAS.docbook @@ -0,0 +1,144 @@ + + LSauthCAS + 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 conf/LSauth/config.LSauthCAS.php. + + + Structure du fichier/* + ***************************************************** + * 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',''); + + + + +Paramètres de configuration + + + PHP_CAS_PATH + + Le chemin d'accès du fichier CAS.php de + la librairie &phpCAS;. Le chemin d'exemple correspond au chemin résultant + d'une installation via PEAR sur une Debian (Lenny). + + + + + PHP_CAS_DEBUG_FILE + + Chemin du fichier de log de la librairie &phpCAS;. Commenter + la ligne pour désactiver les logs. + + + + + LSAUTH_CAS_DISABLE_LOGOUT + + Booléen définissant si l'utilisateur peut se déconnecter du + serveur &CAS; depuis l'interface. + Remarque : l'appel de l'URL de déconnexion via une requête + GET 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 Global Logout. + + + + + LSAUTH_CAS_VERSION + + Nom de la constant &phpCAS; permettant de définir la version + CAS du serveur. Actuellement, la librairie &phpCAS; ne reconnait que + la constante CAS_VERSION_1_0 pour la version 1 de + CAS ou la constante CAS_VERSION_2_0 pour la version + 2 de CAS. + 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. + + + + + LSAUTH_CAS_SERVER_HOSTNAME + + Le nom d'hôte du serveur &CAS;. + + + + + LSAUTH_CAS_SERVER_PORT + + Le port d'écoute du serveur &CAS;. + + + + + LSAUTH_CAS_SERVER_URI + + Le dossier HTTP dans lequel se trouve le service &CAS;. + Exemple : Pour un service CAS accessible via l'URL + https://cas.univ.fr/cas/, la constante devra valoir + cas/. + + + + + LSAUTH_CAS_SERVER_NO_SSL_VALIDATION + + Booléen permettant de désactiver la validation du certificat + SSL du serveur CAS lors des requêtes de validation des tickets CAS. + + + + + LSAUTH_CAS_SERVER_SSL_CERT + + 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. + + + + + LSAUTH_CAS_SERVER_SSL_CACERT + + 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. + + + + + diff --git a/doc/conf/LSauth/LSauthHTTP.docbook b/doc/conf/LSauth/LSauthHTTP.docbook new file mode 100644 index 00000000..19b40707 --- /dev/null +++ b/doc/conf/LSauth/LSauthHTTP.docbook @@ -0,0 +1,18 @@ + + LSauthHTTP + 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 $_SERVER['PHP_AUTH_USER'] et + $_SERVER['PHP_AUTH_PW']. Cet &LSauth; n'utilise ici + que la variable $_SERVER['PHP_AUTH_USER']. 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. + + La recherche 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 + + diff --git a/doc/conf/conf.docbook b/doc/conf/conf.docbook index 83b1a91c..b7e9e372 100644 --- a/doc/conf/conf.docbook +++ b/doc/conf/conf.docbook @@ -18,5 +18,6 @@ &conf-LSobject; &conf-LSaddon; +&conf-LSauth; diff --git a/doc/conf/conf.entities.xml b/doc/conf/conf.entities.xml index 51c23111..7e190889 100644 --- a/doc/conf/conf.entities.xml +++ b/doc/conf/conf.entities.xml @@ -10,6 +10,8 @@ + + diff --git a/doc/conf/srv-ldap.docbook b/doc/conf/srv-ldap.docbook index 80f75af1..f33b8e22 100644 --- a/doc/conf/srv-ldap.docbook +++ b/doc/conf/srv-ldap.docbook @@ -16,12 +16,16 @@ serveur LDAP. '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], @@ -78,6 +82,19 @@ serveur LDAP. + + LSauth + + Définition de la méthode d'authentification &LSauth;. Pour le + moment ce tableau associatif ne contient qu'un paramètre + method qui correpond au nom de la librairie d'authentification. + Exemple : pour utiliser la classe LSauthHTTP, la + valeur du paramètre method sera HTTP. + + + + + cacheLSprofiles @@ -105,6 +122,18 @@ serveur LDAP. + + authObjectFilter + + &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 : + (|(uid=%{user})(mail=%{user})) + + + + authObjectTypeAttrPwd diff --git a/doc/install/arbo.docbook b/doc/install/arbo.docbook index 346f3971..e29b509f 100644 --- a/doc/install/arbo.docbook +++ b/doc/install/arbo.docbook @@ -37,14 +37,21 @@ LSobjects/ - Configuration des LSobjets. + Configuration des &LSobjects;. LSaddons/ - Configuration des LSaddons. + Configuration des &LSaddons;. + + + + + LSauth/ + + Configuration des &LSauth;.