Configuration de L’authentification
Dans le fichier webapp/WEB-INF/plugins/mylutece-cas.xml les propriétés suivantes doivent être mises à jour
- casServerUrlPrefix: Préfixe de la webapp du serveur CAS. Exemple : https://server-cas/cas
- serverName: Adresse du serveur de l’application de la webapp Lutece. Exemple : https://localhost:8080
- tolerance: tolérance admise entre l’heure de la webapp Lutece et l’heure du serveur CAS Exemple : 100000
- exceptionOnValidationFailure: S'il faut lever une exception ou non en cas d'échec de validation des tickets. Exemple: false
Dans le fichier webapp/WEB-INF/conf/plugins/mylutece.properties
Il faut paramétrer la propriété mylutece.url.login.page en respectant le formalisme suivant
mylutece.url.login.page= https://casServerUrlPrefix/cas/login?service= serverName /webappName>/jsp/site/plugins/mylutece/DoMyLuteceLogin.jsp?auth_provider=mylutece-cas
Les propriétés casServerUrlPrefix,serverName doivent être identiques à celles préciser dans le fichier mylutece-cas.xml, la propriété webappName correspond elle au nom de la webapp Lutece.
Exemple: https://cas.dev.ressources.paris.mdp/cas/login?service=http://localhost:8080/site-intraparis-toolbar/jsp/site/plugins/mylutece/DoMyLuteceLogin.jsp?auth_provider=mylutece-cas
Configuration de la récupération des informations de l’utilisateur
Le serveur CAS récupère les informations de l’utilisateur Authentifié et les stockent dans un objet appelé « Principal ».
Les informations contenues dans cet objet dépendent de la configuration du serveur CAS et peuvent par exemple être le nom, prénom, l’email ou le service de l’utilisateur.
Le module mylutece CAS permet de récupérer ces informations et de les stocker dans un objet « LuteceUser » représentant les données de l’utilisateur Front Office
Dans le fichier webapp/WEB-INF/conf/plugins/mylutece-cas.properties
Les propriétés à configurer sont les suivantes
-
mylutece-cas.attributeKeyUsername = nom de la propriété du « Principal » correspondant à la clef d’identification de l’objet « LuteceUser ». Cette propriété est obligatoire.
Exemple:mylutece-cas.attributeKeyUsername=uid
Dans ce cas la clef d’identification sera récupérée à partir de la propriété uid du « Principal »
-
mylutece-cas.attributeRoles= noms séparés par des virgules des propriétés du « Principal » correspondants à des roles mylutece. Cette propriété est facultative. Exemple :
mylutece-cas.attributeRoles=service
Dans ce cas l’utilisateur authentifié se verra associé le role mylutece contenu dans la valeur de la propriété service du « Principal ».
-
mylutece-cas.userMappingAttributes liste des propriétés de l’objet « LuteceUser » dont les valeurs peuvent être récupérées du « Principal ».
Exemple :
- mylutece-cas.userMappingAttributes=user.name.given,user.name.family
- mylutece-cas.attribute.user.name.given=prenom
- mylutece-cas.attribute.user.name.family=nom
Dans ce cas les propriétés de l’objet « LuteceUser » user.name.given et user.name.family peuvent être récupéré du « Principal ». l’attribut du « Principal » contenant la propriété user.name.given doit alors être renseigné dans la propriété mylutece-cas.attribute.user.name.given, dans l’exemple ci-dessus c’est l’attribut prenom qui contiendra cette information.