2008-11-20 5 views
0

J'utilise LLBL Gen Pro v2.6 et je tente de créer un moyen d'auditer les modifications apportées à la base de données. Maintenant, je sais que LLBL Gen a l'audit intégré en utilisant AuditorBase et l'injection de dépendance. La question que j'ai est: J'ai besoin de suivre non seulement les choses que LLBL Gen expose comme vérifiables, mais aussi l'utilisateur qui a fait les changements. D'après ce que j'ai vu, il n'y a pas de manière intégrée de recueillir cette information. Est-ce que quelqu'un a utilisé l'audit intégré de LLBL Gen et a déterminé un moyen de le faire?LLBL Gen Pro 2.6 et l'audit

Wayne E. Pfeffer

Répondre

1

J'ai utilisé LLBLGens cours d'audit. Déterminer l'utilisateur est vraiment quelque chose que vous devrez gérer. Il y a trop de variables pour que LLBLGen le fasse pour vous. Comment sont gérés vos utilisateurs? Est-ce une application winforms ou asp.net?

La meilleure solution serait de stocker l'UserId dans une variable de session ou une variable statique en fonction de ce qui est le plus approprié pour votre application. Dans votre implémentation de la classe Audit, vous pouvez simplement extraire l'UserId de son emplacement de stockage. Une autre solution possible consisterait à remplacer les classes Entity Class ou Data Adapter et à passer l'UserId à vos méthodes de sauvegarde. Cependant, ce serait beaucoup plus de travail.

0

Nous sommes également sur le point d'implémenter l'audit des modifications apportées à la base de données, et nous avons le même problème d'ajout de l'id_utilisateur au journal d'audit. Je peux voir que vous pouvez faire l'approche pull, par exemple. Récupérer l'id_utilisateur de la session Web (nous construisons une application Web), mais cela gâcherait complètement la superposition de l'application, comme je le vois !?

I.e. Si le DAL tire des informations de données de la couche de présentation (session Web), je ne serai pas en mesure d'utiliser le DAL dans d'autres contextes?

Meilleures salutations,

--thomas

1

Dans mon application WinForms, j'accomplir cela en créant une coutume IPrincipal et le bâton que sur System.Threading.Thread.CurrentPrincipal lorsqu'un utilisateur se connecte à l'application. Ensuite, je peux facilement saisir cela à l'intérieur de mes classes d'audit LLBLGen.