| Avertissement |
|---|
Section en cours de rédaction, en attente de validation |
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. |
| Section |
|---|
| Column |
|---|
| Elle nécessite : - d'ajouter un cookie lors de l'authentification
- de conserver l'association login - cookie dans un fichier
|
|
Les modifications ci-dessous sont proposées pour un serveur CAS v 3.4.7
Ajout de la classe TraceMeAction.java
Le fichier TraceMeAction.java doit être ajouté dans le dossier custom/source/org/esupportail/cas/web/flow
Modification de log4j.xml
Il faut modifier le fichier du dossier custom/webpages/WEB-INF/classes pour ajouter les 2 éléments suivants
| Bloc de code |
|---|
| language | xml |
|---|
| title | custom/webpages/WEB-INF/classes/log4j.xml |
|---|
| collapse | true |
|---|
|
<!-- new appender -->
<appender name="trace" class="org.apache.log4j.FileAppender">
<param name="File" value="@log.dir@/trace.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%m%n"/>
</layout>
</appender>
<!-- new logger -->
<logger name="org.esupportail.cas.web.flow.TraceMeAction" additivity="false">
<level value="INFO,trace" />
<appender-ref ref="trace" />
</logger>
|
Modification de login-webflow.xml
Il faut modifier le fichier du dossier custom/webpages/WEB-INF/ pour ajouter les 2 éléments suivants
Pour mettre en place Agimus-NG, vous avez deux possibilités : Quelque soit la méthode choisie, il vous faudra paramétrer et activer la fonctionnalité TraceMe. |
| Column |
|---|
| Remarque |
|---|
| 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
| Développer |
|---|
| title | Installer la dernière version de CAS 3.4 |
|---|
|
Mise en place de la dernière version 3.4 de CAS depuis le dépôt githubPour récupérer les fichiers depuis le dépôt GitHub : | Bloc de code |
|---|
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. |
OU
| Développer |
|---|
| title | Modifier votre installation actuelle |
|---|
|
Modification de votre installation actuelleVous avez la possibilité de modifier votre serveur CAS actuel en lui appliquant les modifications décrites ici : https://github.com/EsupPortail/cas-toolbox-new/pull/5/files 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. - 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)
|
OU
| Développer |
|---|
| title | Pour la version 4.2.2 |
|---|
|
| Bloc de code |
|---|
| <RollingFile name="traceAppender" fileName="/home/tomcat/sso-cas/logs/trace.log" append="true"
filePattern="/home/tomcat/sso-cas/logs/trace-%d{yyyy-MM-dd-HH}-%i.log">
|
|
| Bloc de code |
|---|
| language | xml |
|---|
| title | custom/webpages/WEB-INF/classes/login-webflow.xml |
|---|
| collapse | true |
|---|
|
@@ -60,7 +60,12 @@
<action-state id="sendTicketGrantingTicket">
<evaluateexpressionsendTicketGrantingTicketAction-<transition to="serviceCheck"/>
+<transition<SizeBasedTriggeringPolicy |
onsuccess"to=putTraceMe"+</action-state>
+
+<action-state id="putTraceMe"<TimeBasedTriggeringPolicy />
|
+<evaluateexpression="putTraceMeAction">+<transition on="success" to="serviceCheck" / | Bloc de code |
|---|
| <AsyncLogger name="org.esupportail.cas.services.TraceMeMetaDataPopulator" level="info" additivity="false">
|
</action-state>
<decision-stateidserviceCheck |
Ajout et adaptation du fichier trace-me.xml
Le fichier trace-me.xml doit être ajouté dans le dossier custom/webpages/WEB-INF/spring-configuration/
N'oubliez pas de le modifier pour intégrer votre domaine et éventuellement le nom de cookie que vous souhaitez utiliser.
Redéploiement de CAS
Redéployer CAS. Les prochaines connexions ajouteront le cookie Agimus-NG au navigateur client pour votre domaine et le fichier trace.log contiendra les associations login - cookie.
| Développer |
|---|
| title | Pour la version 5.2.2 |
|---|
|
En version 5 de CAS l'extension Agimus se décline en 2 module : - cas-server-support-agimus-cookie : cette partie va dépose le cookie agimus et ecrire le fichier de mapping identifiant => valeur du cookie
- cas-server-support-agimus-logs : cette partie va générer un fichier de logs avec une ligne par délivrance d'un ticket pour un service.
Les documentations se trouvent sur : |
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=AGIMUS
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.
| Astuce |
|---|
|
Afin de valider le bon fonctionnement de la modification de votre serveur CAS, suivez les étapes suivantes : - Authentifiez-vous sur votre CAS
- Vérifiez la présence d'un cookie AGIMUS pour le domaine défini dans votre configuration
- Si ce cookie est présent assurez-vous que la valeur de ce cookie correspond à celle enregistrée dans le fichier trace.log de votre serveur
- Le fichier trace.log se trouve par défaut dans le même dossier que les autres logs
- Il doit contenir une ligne associant votre login et la valeur du cookie AGIMUS trouvé dans votre navigateur
Si c'est le cas, passez à l'étape suivante grâce au bouton ci-dessous. Si ce n'est pas le cas, vérifiez les points suivants : - Pas de cookie : Vérifiez que les fichiers deployerConfigContext.xml et trace-me.xml correspondent à ceux fournis ci-dessus. Avez-vous bien activé le mécanisme dans config.properties ?
- Pas de fichier trace.log : vérifez dans le fichier log4j.xml que les chemins correspondent à ceux de votre installation
|
| Button Hyperlink |
|---|
| icon | approve |
|---|
| title | ÉTAPE SUIVANTE |
|---|
| type | standard |
|---|
| url | OLD2 - Serveur AGIMUS-NG |
|---|
|
...