Pages enfant
  • Spécification filtres d'identification

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migration of unmigrated content due to installation of a new plugin
Balise Wiki
{panel:bgColor=#F8F7EF}
h1. Spécification filtres d'identification

\*\*
\\
Auteur : Raymond Bourges (Université de Rennes1) ([http://http://|http://http://])
{panel}
{toc:style=disc\|indent=20px\|minLevel=1}

h1. Introduction

\\
Ce document a pour but de spécifier le mode de fonctionnement, à     base de filtre J2EE, de l'identification des serveurs Slide et Cocoon     utilisés dans le cadre d'Injac.

h1. Principe de fonctionnement

\\
On utilise une cascade de 4 filtres. Le premier d'entre eux sert     uniquement à l'aiguiller vers les trois autres filtres. Ces trois autres     filtres gèrent les différents modes d'identification du serveur. A savoir     : LDAP, TRUSTED ou     CAS. Les filtres utilisent log4j pour les logs. Les     filtres vont chercher leurs paramètres directement dans le fichier     web.xml de l'application conformément à la norme sur     les filtres J2EE.

h1. Le filtre d'aiguillage

\\

h2. Classe

\\
* org.esupportail.filter.AuthenticationRouter
h2. Paramètres

\\
* org.esupportail.filter.AuthenticationRouter.filterList \*\* Obligatoire, valeur par défaut : aucune
** Donne la liste des filtres d'identification (séparées                 par un espace) que le filtre d'aiguillage doit savoir                 gérer.
** Ex : "TRUSTED LDAP CAS"
** Dans la suite de ce document                 <NOM> représente un nom quelconque                 dans cette liste.

* org.esupportail.filter.AuthenticationRouter.allowClientIP<NOM> \*\* Non obligatoire, valeur par défaut : aucune
** Donne la liste des adresses IP (séparées par un espace)                 des machines autorisées à se connecter via le filtre                 <NOM>

* org.esupportail.filter.AuthenticationRouter.useSecureRequest<NOM> \*\* Non obligatoire, valeur par défaut : false
** Permet de savoir si l'on autorise l'utilisation du                 filtre <NOM> avec une connexion http                 ou https.

* org.esupportail.filter.AuthenticationRouter.agent<NOM> \*\* Non obligatoire, valeur par défaut : aucune
** Donne une liste \*d'expressions
régulières - type PERL\* (séparées par un espace) des                 types d'agent (clients http) autorisée à se connecter via le                 filtre <NOM>.
** Ex : (.*)mozilla(.*)

* org.esupportail.filter.AuthenticationRouter.httpRequestParameter<NOM> \*\* Non obligatoire, valeur par défaut : aucune
** Donne une liste de paramètres de la requête http et de                 la valeur associée. La valeur associée prend la forme                 \*d'une expression régulière - type
PERL\* et est séparé du paramètre par "=". Les                 différents éléments de la liste sont séparés par un                 espace.
** Ex : "(.*)identLDAP=true(.*)                 (.*)ident=LDAP(.*)".
** Le requête devra correspondre à au moins un de ces                 paramètres pour faire appel au filtre d'identification                 <NOM>.

* org.esupportail.filter.AuthenticationRouter.destinationHost<NOM> \*\* Non obligatoire, valeur par défaut : aucune
** Donne une liste de noms de sites virtuels et du port                 associé à chacun. La port associé est séparé du nom du site                 virtuel par ":". Les différents éléments de la liste\* (expression s régulières - type PERL)
\*sont séparés par un espace.
** Ex : "(.*)univ.fr:80(.*)                 (.*)localhost(.*)".
** Le requête devra correspondre à au moins un de ces                 paramètres pour faire appel au filtre d'identification                 <NOM>.

* org.esupportail.filter.AuthenticationRouter.defaultAuthenticationFilter \*\* Non obligatoire, valeur par défaut : première entrée de                 org.esupportail.filter.AuthenticationRouter.filterList
** Contient une des valaurs de                 org.esupportail.filter.AuthenticationRouter.filterList
** Permet de définir le filtre à utiliser par                 défaut.

h2. Mode de fonctionnement

\\
* Positionne une variable session           (org.esupportail.filter.AuthenticationRouter.selectFilter)           qui peut une des valeurs de           org.esupportail.filter.AuthenticationRouter.filterList.
* Cette variable session sera testée en début de chacun des           filtres suivants pour savoir s'ils doivent opérer ou pas.
* Chaque filtre définit un wrapper de request pour redéfinir la           fonction getUserPrincipal() et           getRemoreUser()

h1. Le filtre d'identification Trusted

\\

h2. Classe

\\
* org.esupportail.filter.AuthenticationTrusted

h2. Paramètres

\\
* org.esupportail.filter.AuthenticationTrusted.TrustedPassword \*\* Non obligatoire, valeur par défaut : trusted
** Donne une liste d'expressions régulières (séparées par                 un espace) des password autorisés pour se connecter en mode                 trusted.

h1. Le filtre d'identification LDAP

\\

h2. Classe

\\
* org.esupportail.filter.AuthenticationLDAP

h2. Paramètres

\\
* org.esupportail.filter.AuthenticationLDAP.connectionURL \*\* Obligatoire, valeur par défaut : aucune
** URL du serveur LDAP principal

* org.esupportail.filter.AuthenticationLDAP.alternateURL \*\* Non Obligatoire, valeur par défaut : aucune
** URL du serveur LDAP secondaire

* org.esupportail.filter.AuthenticationLDAP.bindType \*\* Non obligatoire, valeur par défaut :                 FASTBIND
** Contient FASTBIND ou                 SEARCHBIND.

* org.esupportail.filter.AuthenticationLDAP.fastBindUserPattern \*\* Obligatoire si bindType=FASTBIND,                 valeur par défaut : aucune
** Chaîne permettant de construire un DN LDAP à partir du                 nom de connexion. Exemple :                 uid=
{0},ou=people,dc=univ,dc=fr

* org.esupportail.filter.AuthenticationLDAP.searchBindConnectionName ** Non obligatoire, valeur par défaut : aucune
** Nom d'utilisateur pour lancer la recherche LDAP en cas                 de SEARCHBIND. Si le nom est vide cette                 recherche est faite en mode anonyme.

* org.esupportail.filter.AuthenticationLDAP.searchBindConnectionPassword ** Non obligatoire, valeur par défaut : aucune
** Mot de passe de l'utilisateur qui lance la recherche                 LDAP en cas de SEARCHBIND.

* org.esupportail.filter.AuthenticationLDAP.searchBindBaseDN ** Obligatoire si bindType=SEARCHBIND,                 valeur par défaut : aucune
** Base DN utilisée pour lancer la recherche LDAP. Exemple                 : ou=people,dc=univ,dc=fr

* org.esupportail.filter.AuthenticationLDAP.searchBindScope ** Obligatoire si bindType=SEARCHBIND,                 valeur par défaut : SUBTREE
** Scope utilisée pour lancer la recherche LDAP.
** Valeurs possible : SUBTREE,                 ONE, BASE

* org.esupportail.filter.AuthenticationLDAP.searchBindFilter ** Obligatoire si bindType= SEARCHBIND,                 valeur par défaut : uid={0}
** Chaîne permettant de construire un RDN LDAP à partir du                 nom de connexion. Exemple : uid=
{0}

h1. Le filtre d'identification CAS

\\
Il s'agit ici en fait n'y plus ni moins du filtre CAS. A ceci près     que :
* L'on a adapté le wrapper de request pour redéfinir la fonction         getUserPrincipal()
* On teste en début de filtre la variable session         org.esupportail.filter.AuthenticationRouter.selectFilter