En utilisant une approche basée sur les déclencheurs pour la journalisation d'audit, j'enregistre l'historique des modifications apportées aux tables dans la base de données. L'approche que j'utilise (avec une connexion SQL statique au serveur) pour enregistrer quel utilisateur a effectué la modification implique l'exécution d'une procédure stockée au début de chaque connexion à la base de données. Les déclencheurs utilisent ce nom d'utilisateur lors de l'enregistrement des lignes d'audit. (Les déclencheurs sont fournis par le produit OmniAudit.)Comment vérifier les tables d'adhésion ASP.NET, tout en enregistrant quel utilisateur a effectué les modifications?
Toutefois, les tables d'adhésion ASP.NET sont principalement accessibles via l'API Membership. Je dois transmettre l'identité de l'utilisateur actuel lorsque l'API Membership ouvre sa connexion à la base de données. J'ai essayé de sous-classer MembershipProvider mais je ne peux pas accéder à la connexion de base de données sous-jacente.
Il semble que ce serait un problème commun. Est-ce que quelqu'un sait des crochets que nous pouvons accéder quand l'adhésion d'ASP.NET fait sa connexion de base de données?
Merci, idée très intéressante. Je pensais qu'une approche AOP est logique. Je ne suis pas sûr de vouloir introduire une autre dépendance sur quelque chose comme Castle en ce moment. En ce moment je considère employer la source pour SqlMembershipProvider, que je viens de découvrir est disponible. Une de mes préoccupations est que ce code source date de 2006, et je ne sais pas s'il a été mis à jour avec les versions subséquentes d'asp.net. – Pete
En fait, j'ai une autre question en ce qui concerne AOP et il ne semble pas bon pour nous .. http://stackoverflow.com/questions/2912300/is-possible-to-intercept-a-constructor-on-a- class-you-do-not-own, mais - ma suggestion suivante était d'utiliser un fournisseur personnalisé basé sur les exemples de la boîte à outils. J'ai affiné ce code un peu au fil des ans et ça fonctionne comme un charme. Rien n'a été changé qui affecte la pertinence de ce code.Si vous pouvez attendre quelques jours je vais rendre mon travail disponible. –
@Pete - ping ... désolé, n'a pas @ vous-voir la mise à jour. –