24 mai 2024, 14:52:07
seb leridon
Service AccessLogger
Implémentation d’un service de journalisation des accès
- Journalise toutes les actions concernant l’authentification, la gestion des utilisateurs ou des droits.
- Tous les messages doivent contenir l’ID d’application, le type d’événement, un code d’événement d’application spécifique, l’utilisateur connecté et des données contextuelles spécifiques.
- Le service implémente l’interface IAccessLogger de lutece core, et est utilisé via le service AccessLogService de Lutece core.
Configuration
Utilisez le niveau “debug” ou “trace” pour un contrôle d’accès précis.
Sinon, utilisez le niveau “info”.
Par défaut, l’authentification Lutece, la gestion des utilisateurs et des droits sont consignés au niveau “info”, et tous les appels d’actions et vues sont consignés au niveau “trace”.
Le format des journaux est configurable dans le fichier de propriétés via les propriétés :
portal.defaultAccessLogger.messageFormat
portal.defaultAccessLogger.messageFormatSeparator
Les lignes de journal peuvent être complétées par un hash permettant d’authentifier la ligne, en activant la propriété :
portal.defaultAccessLogger.addHashToLogs=true
Usage
Pour journaliser d’autres actions spécifiques, choisissez un niveau de log :
AccessLogService.getInstance( ).info( String strEventType, String strAppEventCode, String strConnectedUserLogin, Object data )
AccessLogService.getInstance( ).debug( String strEventType, String strAppEventCode, String strConnectedUserLogin, Object data )
AccessLogService.getInstance( ).trace( String strEventType, String strAppEventCode, String strConnectedUserLogin, Object data )
Les types d’évènement génériques à utiliser sont :
- AccessLoggerConstants.EVENT_TYPE_READ : lecture
- AccessLoggerConstants.EVENT_TYPE_CREATE : création
- AccessLoggerConstants.EVENT_TYPE_DELETE : suppression
- AccessLoggerConstants.EVENT_TYPE_MODIFY : modification
- AccessLoggerConstants.EVENT_TYPE_CONNECT : authentification
- AccessLoggerConstants.EVENT_TYPE_DISCONNECT : fin de session
- AccessLoggerConstants.EVENT_TYPE_RIGHTS : gestion de droits