Spécification filtres d'identification |
Dates de modification | ||
---|---|---|
|
|
|
|
|
|
|
|
|
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.
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.
org.esupportail.filter.AuthenticationRouter
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.
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()
org.esupportail.filter.AuthenticationTrusted
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.
org.esupportail.filter.AuthenticationLDAP
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}
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