2016-12-16 2 views
-1

Nous avons CSLA v2.0.50727, et ils me demandent de faire une vérification. Donc, je voudrais savoir si:Utilisez l'AAPC pour l'audit?

  • ¿Puis-je savoir Avec CSLA quelles propriétés de mon objet ont changé?
  • ¿Quelles recommandations ai-je pour mapper les noms des tables et les champs dans ma base de données, avec les valeurs et les noms de mes propriétés ?, Nous avions l'intention d'utiliser des annotations personnalisées sur les propriétés; Bien que nous étudions comment.

Le but est de pouvoir enregistrer dans une table les valeurs modifiées d'un certain champ et table. Exemple.

Audit_table

Audit_id

field_name

valeur

Table_name

ROW_ID

Répondre

1

Si l'audit possible peut être fait au niveau de la base de données afin que vous n'avez pas besoin mettre en œuvre l'audit e Ver encore/(pour chaque application qui accède à la base de données écrire le code pour vérifier exactement la même chose - n'a pas beaucoup de sens).

Ce que vous faites est de créer une table exactement comme la table de production avec un message ou un préfixe et d'ajouter des champs supplémentaires à vos besoins. Pour chacune de vos procédures stockées, ajoutez le (s) paramètre (s) & pour chaque colonne d'audit. un horodatage, un nom d'utilisateur (à partir de l'application) et une action (SUPPRIMER, METTRE À JOUR, LIRE, CRÉER ou tout ce dont vous avez besoin pour décrire ce qui est arrivé à l'enregistrement).

Ensuite, avant un CRUD, sélectionnez dans la table et insérez dans la table d'audit les détails d'opération/d'action & paramètres supplémentaires. Ceci permet également une sécurité supplémentaire lors de l'interrogation des données car à chaque fois qu'une application accède à la base de données pour effectuer une opération, elle auditera les commandes CREATE, READ, UPDATE ou DELETE. Avec le paramètre requis d'un utilisateur, il peut également aller dans la mesure de vérifier si l'utilisateur a accès à l'enregistrement, vérifie si l'utilisateur existe même et/ou possède des privilèges particuliers pour effectuer une action sur un enregistrement ou un objet.

Le seul changement de code est l'ajout de paramètres supplémentaires à la base de données d'une manière adaptée à vos besoins spécifiques.

Cette solution est agnostique.