...
- 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
Avertissement |
---|
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 |
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
<!-- 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
Bloc de code | ||||||
---|---|---|---|---|---|---|
| ||||||
@@ -60,7 +60,12 @@
<action-state id="sendTicketGrantingTicket">
<evaluate expression="sendTicketGrantingTicketAction"/>
- <transition to="serviceCheck"/>
+ <transition on="success" to="putTraceMe"/>
+ </action-state>
+
+ <action-state id="putTraceMe">
+ <evaluate expression="putTraceMeAction" />
+ <transition on="success" to="serviceCheck" />
</action-state>
<decision-state id="serviceCheck"> |
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
Pour mettre en place Agimus-NG, il est nécessaire de 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.
Le pull request concernant cette modification est décrit ici : https://github.com/EsupPortail/cas-toolbox-new/pull/5
Récupération basique de CAS depuis le dépôt git
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 # |
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.
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.