Cette modification de CAS a pour but de pouvoir associer chaque log applicatif à l'utilisateur qui l'a généré. Cette association permettra d'enrichir les logs avec des attributs du LDAP avant d'anonymiser les logs.
Elle nécessite :
d'ajouter un cookie lors de l'authentification
de conserver l'association login - cookie dans un fichier
Pour mettre en place Agimus-NG, vous avez deux possibilités :
mettre en place la dernière version de la branche 3.4 de cas-toolbox-new (https://github.com/EsupPortail/cas-toolbox-new/tree/v3.4.x). A l'heure d'écriture de cette page, la dernière version date du et l'identifiant du dernier commit est 7dd1e92ecc66b240f3812f6f2c07e8f3d9ce314d.
Quelque soit la méthode choisie, il vous faudra paramétrer et activer la fonctionnalité TraceMe.
Il est possible aussi de modifier son serveur CAS afin de générer un logs applicatif (log contenant la personne et l'accès à une application) : SSO CAS - Logs applicatif
Intégration dans CAS
Mise en place de la dernière version 3.4 de CAS depuis le dépôt github
Pour récupérer les fichiers depuis le dépôt GitHub :
root@cas # git clone https://github.com/EsupPortail/cas-toolbox-new.git
Clonage dans 'cas-toolbox-new'...
remote: Counting objects: 1049, done.
remote: Total 1049 (delta 0), reused 0 (delta 0), pack-reused 1049
Réception d'objets: 100% (1049/1049), 376.66 KiB | 0 bytes/s, fait.
Résolution des deltas: 100% (390/390), fait.
Vérification de la connectivité... fait.
root@cas # cd cas-toolbox-new/
root@cas # git checkout v3.4.x
La branche v3.4.x est paramétrée pour suivre la branche distante v3.4.x depuis origin.
Basculement sur la nouvelle branche 'v3.4.x'
root@cas # git status
Sur la branche v3.4.x
Votre branche est à jour avec 'origin/v3.4.x'.
rien à valider, la copie de travail est propre
root@cas # ls
cas-toolbox-core cas-toolbox-custom config.sample.properties etc LICENSE pom.xml
root@cas #
Procéder ensuite au paramétrage et au déploiement suivant votre méthode habituelle.
Suivant votre version actuelle, il se peut que vous ayez déjà l'ancienne version du mécanisme de Trace. Pour le savoir, vérifiez simplement si dans vos sources se trouve le fichier cas-toolbox-core/src/main/java/org/esupportail/cas/web/flow/TraceMeAction.java.
Si le fichier TraceMeAction.java est présent, il vous suffit d'appliquer les différences décrites à savoir :
Ajout de cas-toolbox-core/src/main/java/org/esupportail/cas/services/TraceMeMetaDataPopulator.java : TraceMeMetaDataPopulator.java
Suppression de cas-toolbox-core/src/main/java/org/esupportail/cas/web/flow/TraceMeAction.java
Si ce fichier TraceMeAction.java n'est pas présent, il vous faudra :
Ajout de cas-toolbox-core/src/main/java/org/esupportail/cas/services/TraceMeMetaDataPopulator.java : TraceMeMetaDataPopulator.java
Ajout de cas-toolbox-core/src/main/webapp/WEB-INF/spring-configuration/trace-me.xml : trace-me.xml
Modification de :
cas-toolbox-core/src/main/webapp/WEB-INF/classes/log4j.xml : log4j.xml Ajout des zones contenues entre les balises <!-- IF USE ESUP traceMe...
cas-toolbox-core/src/main/webapp/WEB-INF/deployerConfigContext.xml Ajout de la partie décrite dans le diff
cas-toolbox-custom/src/main/webapp/WEB-INF/classes/log4j.xml : log4j.xml Ajout des zones contenues entre les balises <!-- IF USE ESUP traceMe...
cas-toolbox-custom/src/main/webapp/WEB-INF/deployerConfigContext.xml Ajout de la partie décrite dans le diff
config.properties (cf ci-dessous)
Paramétrage de la partie TraceMe
Le paramétrage s'effectue dans le fichier config.properties à la racine.
Pour activer les "traceMe" : trace.enabled=true
Pour configurer les "traceMe" : trace.cookieMaxAge=432000 trace.cookieName=CASTRACEME trace.cookiePath=/ trace.cookieDomain=.univ.fr
Le fichier contenant l'association cookie <-> id de l'utilisateur est trace.log. Il se trouve dans le répertoire de log défini le dossier log.dir que vous aurez défini dans config.properties.