Journal d'audit d'entreprise-bibliothèque ou approche recommandée? [fermé]


Connaissez-vous une bonne bibliothèque Java pour la journalisation des audits? Ou au moins un bon livre / article pour aider à choisir une bonne approche pour créer un journal d'audit pour une application?

Exigences de la bibliothèque:
- définir les métadonnées d'audit communes (userId, time, IP,...)
- définir les types de messages d'audit (transaction envoyée, message reçu, ...)
- verrouiller / signer des messages d'audit individuels (pour non-répudiation)
- rechercher un journal d'audit basé sur les métadonnées
- etc.

Modifier:
Je suis ne cherchant pas de solution automatisée, je suis parfaitement heureux d'appeler quelque chose comme:

AuditEvent event = new TransactionSentEvent(userId, account, amount, ...)
AuditLog.audit(auditEvent);

Le point est d'avoir l'infrastructure derrière elle - stockage sûr à la base de données, non-réputation, etc.

Author: krtek, 2010-09-23

5 answers

Qu'en est-il de ce https://github.com/dima767/inspektr J'ai presque les mêmes exigences que vous avez décrites ci-dessus, et je creuse dans inspektr.

 1
Author: Han Zheng, 2013-03-11 10:24:28

Donc, si vous recherchez un framework, vous pouvez essayerlogback-audit . C'est par les gens qui sont derrière la bibliothèque de journalisation Java, logback.

 10
Author: jkl, 2010-10-29 20:02:39

Si vous utilisez Java, une façon est d'utiliser springframework et aop. C'est la plus grande souplesse. Voici un exemple

Vous pouvez également le faire au niveau de la base de données en utilisant hibernate (plus d'informations)

 4
Author: surajz, 2015-10-12 20:43:41

Vous pouvez utiliser la bibliothèque AscpectJ sans Spring, via des annotations

 1
Author: user456247, 2010-09-23 14:17:14

Une bonne approche de la journalisation au niveau de l'entreprise/de l'opération consiste à déterminer exactement ce dont vous avez besoin pour vous connecter. Vous l'avez déjà fait.

Vous n'avez pas vraiment besoin de nouveau framework ou AOP à ajouter. Cependant, vous avez des exigences supplémentaires qui vous empêchent d'utiliser les frameworks de journalisation courants tels que Log4J ou java.util.journalisation sans créer plus de travail.

L'approche la plus simple à laquelle je puisse penser est d'avoir une classe d'audit qui a une connexion JDBC injectée ou configurée dedans. Cela peut être fait via Spring si vous utilisez déjà ce framework. Si vous n'avez pas de conteneur DI, vous devez le définir comme un singleton.

Une autre chose dont vous avez besoin est une capacité de signature. Java est java.sécurité.Signature pour signer et vérifier les données.

Comme je l'ai dit plus tôt, vous avez des exigences qui vous empêchent d'utiliser les frameworks de journalisation disponibles. C'est-à-dire:

  • recherche du journal d'audit sur la base des métadonnées

Pour vous de faciliter la recherche vous devez stocker des données dans une base de données car l'écriture dans un fichier texte sera difficile à faire. En utilisant les frameworks de journalisation, vous devez apprendre l'API et être lié au framework qui ne fait pas partie de la norme.

 0
Author: Archimedes Trajano, 2010-10-29 15:41:00