我们有CSLA v2.0.50727,他们要我进行审核检查。所以我想知道是否:
目的是能够在表中保存某个字段和表的值已更改。例。
Audit_table
Audit_id
FIELD_NAME
值
TABLE_NAME
ROW_ID
如果可能,可以在数据库级别进行审计,这样您就不需要再次实现审计/(访问数据库的foreach应用程序编写代码来审计完全相同的事情 - 没有多大意义)。
您所做的是创建一个与生成表完全相同的表,其中包含一个帖子或前缀,并根据您的需要添加其他字段。对于每个存储过程,添加参数和每个审计表添加列;时间戳,用户名(来自应用程序)和操作(DELETE,UPDATE,READ,CREATE或任何你需要描述记录发生的事情)。
然后在CRUD中从表中选择并插入到审计表中,其中包含操作/操作详细信息和其他参数。
在每次应用程序访问数据库以执行操作时,这还可以在查询数据时提供额外的安全性,它将审核CREATE,READ,UPDATE或DELETE。使用用户的必需参数,它还可以在某种程度上检查用户是否有权访问记录,检查用户是否存在和/或具有对记录或对象执行操作的特定权限。
代码中唯一的变化是以适合您特定需求的方式传递给数据库的附加参数。
该解决方案是不可知的。