Date: Fri, 29 Mar 2024 02:02:14 +0100 (CET) Message-ID: <1153548932.277.1711674134525@confluence-esup.uphf.fr> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_276_1005396412.1711674134525" ------=_Part_276_1005396412.1711674134525 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Il est possible de modifier le serveur CAS afin de g=C3=A9n=C3=A9rer un = fichier de logs suppl=C3=A9mentaire qui sera aliment=C3=A9 a chaque authent= ification pour un service. Le fichier g=C3=A9n=C3=A9r=C3=A9 au final aura l= a forme suivante :
[DATE][IP:IP-CLIENT][ID:IDENTIFIANT-UTILISATEUR][TICKET:VALUER-TICKET-= SERVICE-CAS][SERVICE:URL-SERVICE-ACCEDE][USER-AGENT:NAVIGATEUR-CLIENT]
[= Wed Mar 18 11:45:31 CET 2015] [IP:XXX.XXX.XXX.X] [ID:dupont53][TICKET:ST-1-= E5rdtcdOHsDneNgYl4ES-cas][SERVICE:http://ent.univ.fr/p/cms] [USER-AG= ENT:Mozilla/5.0 (Windows NT6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0= ]
Tout d'abord la derni=C3=A8re version (V4) du serveur CAS (cas-too= lbox) g=C3=A9n=C3=A8re ce fichier nativement : https://github.com/EsupPortail/cas-toolbox-new
Une version 3.4.X est aussi disponible : https://github.com/EsupPortail/cas-toolbox-new/tree/v3.4.x
Votre serveur CAS est compatible pour g=C3=A9n=C3=A9rer ce fichier si vo= us trouver un fichier nomm=C3=A9 ServiceAuditT= railManager.java quelques part dans les sources.
La modification comporte 3 =C3=A9tapes :
Vous pouvez utiliser ce pull request : h= ttps://github.com/EsupPortail/cas-toolbox-new/pull/3
et donc les fichier lister dans le PR : https://github.com/EsupPortail/cas-toolbox-new/pull/3/files
Vous pouvez utiliser ce pull request : h= ttps://github.com/EsupPortail/cas-toolbox-new/pull/3
et donc les fichier lister dans le PR := https://github.com/EsupPortail/c= as-toolbox-new/pull/3/files
Ajouter dans le fichier cas-toolbox-core/sr= c/main/webapp/WEB-INF/classes/log4j.xml
.... <appender name=3D"serviceStatsAppender" class=3D"org.apache.log4j.FileAp= pender"> <param name=3D"File" value=3D"${log.dir}/serviceStats.log"/> <layout class=3D"org.apache.log4j.PatternLayout"> <param name=3D"ConversionPattern" value=3D"%m%n"/> </layout> </appender> ... <logger name=3D"org.esupportail.cas.audit.support.ServiceAuditTrailManag= er" additivity=3D"false"> <level value=3D"INFO" /> <appender-ref ref=3D"serviceStatsAppender" /> </logger> ....
Dans le fichier ca= s-toolbox-core/src/main/webapp/WEB-INF/spring-configuration/auditTrailConte= xt.xml
.... <bean class=3D"org.esupportail.cas.audit.support.ServiceAuditTrailManage= r"/> ....
# wget = -O src/main/webapp/WEB-INF/spring-configuration/auditTrailContext.xml https= ://raw.githubusercontent.com/apereo/cas/v4.2.2/cas-server-webapp/src/main/w= ebapp/WEB-INF/spring-configuration/auditTrailContext.xml
c:audit= TrailManagers-ref=3D"auditTrailManager"
par
c:audit= TrailManagers-ref=3D"auditTrailManagers"
en dessous de ce bean rajoutez ceci
<= ;bean id=3D"serviceAuditTrailManager" class=3D"org.esupportail.cas.audit.su= pport.ServiceAuditTrailManager"/> =20 <util:list id=3D"auditTrailManagers" value-type=3D"java.lang.String"= > <ref bean=3D"serviceAuditTrailManager"/> <ref bean=3D"auditTrailManager"/> </util:list>
# mkdir= src/main/java/org/esupportail/cas/audit/support/
Ins=C3=A9rez le fichier ServiceAuditTrailManager.java dans ce dossier
= <RollingFile name=3D"serviceStatsAppender" fileName=3D"/home/tomcat/sso= -cas/logs/serviceStats.log" append=3D"true" filePattern=3D"/home/tomcat/sso-cas/logs/serviceStats-%d{yyyy-MM-dd-HH}-%i= .log"> <PatternLayout pattern=3D"%m%n"/> <Policies> <SizeBasedTriggeringPolicy size=3D"10 MB"/> <TimeBasedTriggeringPolicy /> </Policies> </RollingFile>
= <AsyncLogger name=3D"org.esupportail.cas.audit.support.ServiceAuditTrai= lManager" level=3D"info" additivity=3D"false" includeLocation=3D"true"> <AppenderRef ref=3D"console"/> <AppenderRef ref=3D"serviceStatsAppender" /> </AsyncLogger>
Vous pouvez utiliser les fichiers du r=C3=A9pertoire logstash/casr= equest : http= s://github.com/EsupPortail/agimus-ng/tree/master/logstash/casRequest
Pour lire et injecter dans Agmius-NG le fichier r=C3=A9sultant du CAS
A venir :