Agimus-NG

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Info

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
width65%

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

warning

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
titleInstaller 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 github

Pour 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

 

Ajout de la classe TraceMeAction.java

...

 

...

Développer
titleModifier votre installation actuelle

Modification de votre installation actuelle

Vous 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.

  • 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
    • Modification de :

      • cas-toolbox-core/src/main/webapp/WEB-INF/classes/log4j.xml

...

      • cas-toolbox-core/src/main/webapp/WEB-INF/

...

custom/webpages.xml
      • deployerConfigContext.xml

      • cas-toolbox-core/src/main/webapp/WEB-INF/login-webflow.xml

      • cas-toolbox-core/src/main/webapp/WEB-INF/spring-configuration/trace-me.xml

      • cas-toolbox-custom/src/main/webapp

Bloc de code
languagexml
title
      • /WEB-INF/classes/log4j

collapsetrue
<!-- 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

      • .xml

      • cas-toolbox-custom/src/main/webapp/WEB-INF/deployerConfigContext.xml

      • etc/HOWTO-traceMe

      • pom.xml

  • 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)


       OU

 

Développer
titlePour la version 4.2.2
  • Dans le dossier cas-overlay-template créez le dossier suivant:

# mkdir src/main/java/org/esupportail/cas/services/

Insérez le fichier TraceMeMetaDataPopulator.java dans ce dossier

  • Dans le dossier cas-overlay-template créez le dossier suivant:

# mkdir src/main/java/org/esupportail/cas/web/flow/

Insérez le fichier TraceMeAction.java dans ce dossier

  • Editez le fichier deployerConfigContext.xml qui se trouve dans src/main/webapp/WEB-INF/ en rajoutant juste après <ref bean=“rememberMeAuthenticationMetaDataPopulator” />

 

Bloc de code
titledeployerConfigContext.xml
<ref bean="traceMeAuthenticationMetaDataPopulator" />
  • Ajoutez le fichier trace-me.xml dans le dossier src/main/webapp/WEB-INF/spring-configuration/
  • Éditez le fichier /etc/cas/log4j2.xml
  • Dans la partie <Appenders> ajoutez ceci
Bloc de code
titlelog4j2.xml
        <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
languagexml
titlecustom/webpages/WEB-INF/classes/login-webflow.xml
collapsetrue
@@ -60,7 +60,12 @@ <action-state id="sendTicketGrantingTicket
">
           
<evaluate
 <PatternLayout 
expression
pattern="
sendTicketGrantingTicketAction
%m%n"/>
-
           
<transition to="serviceCheck"/> +
 <Policies>
                
<transition
<SizeBasedTriggeringPolicy 
on
size="
success" to="putTraceMe
10 MB"/>
+
            
</action-state> + +
    
<action-state id="putTraceMe"
<TimeBasedTriggeringPolicy />
+
          
<evaluate
 
expression="putTraceMeAction"
 </
> +
Policies>
        </RollingFile>

 

  • Dans la partie <Loggers>
Bloc de code
titlelog4j2.xml
       
<transition
<AsyncLogger 
on
name="
success
org.esupportail.cas.services.TraceMeMetaDataPopulator" 
to
level="
serviceCheck
info" 
/
additivity="false">
     
</action-state>
 
    <appenderRef 
<decision-state id
ref="
serviceCheck
traceAppender" />

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.


        </AsyncLogger>
Développer
titlePour 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
titlePOUR TESTER

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
iconapprove
titleÉTAPE SUIVANTE
typestandard
urlOLD2 - Serveur AGIMUS-NG

...