问题标签 [audit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
13671 浏览

sql - 在 SQL Server 中实施审计表的建议?

我过去使用的一种简单方法基本上只是创建第二个表,其结构反映了我要审核的表,然后在主表上创建更新/删除触发器。在更新/删除记录之前,当前状态通过触发器保存到审计表中。

虽然有效,但审计表中的数据并不是最有用或最容易报告的数据。我想知道是否有人有更好的方法来审核数据更改?

这些记录不应该有太多更新,但它是高度敏感的信息,因此对客户而言,对所有更改进行审计并轻松报告是很重要的。

0 投票
6 回答
8526 浏览

sql-server - NHibernate 和 SqlServer 中的数据审计

我在一个项目中使用 NHibernate,我需要进行数据审计。我在 codeproject 上找到了这篇讨论 IInterceptor 接口的文章。

您首选的审计数据方式是什么?你使用数据库触发器吗?您是否使用类似于文章中讨论的内容?

0 投票
4 回答
3802 浏览

sql-server - DB Audit Trail 的最佳实施是什么?

数据库审计跟踪捕获用户上次修改、修改日期和创建日期。

有几种可能的实现方式:

  • SQL Server 触发器
  • 将 UserModified、ModifiedDate、CreatedDate 列添加到数据库,并在存储过程或 Insert、Update 语句中相应地包含逻辑。

如果您在答案中包含实现(或链接),那就太好了。

0 投票
4 回答
8056 浏览

database - 如何在没有性能和可扩展性问题的情况下审核数据库活动?

我需要审核所有数据库活动,无论它来自应用程序还是通过其他方式发出某些 sql 的人。所以审计必须在数据库级别进行。有问题的数据库是Oracle。我考虑通过触发器以及 Oracle 提供的称为细粒度审计的东西来实现它。在这两种情况下,我们都打开了对特定表和特定列的审计。然而,我们发现当我们使用这两种方法时,性能真的很糟糕。

由于围绕数据隐私的规定,审计是绝对必须的,我想知道在不显着性能下降的情况下,最好的方法是什么。如果有人在这方面有 Oracle 的特定经验,那将会很有帮助,但如果不仅仅是围绕数据库活动审计的一般实践也可以。

0 投票
6 回答
16984 浏览

java - 向现有应用程序添加审计的良好模式或框架?

我有一个现有的 J2EE 企业应用程序,我需要在其中添加审计,即能够记录几个重要域类型(Employee、AdministratorRights 等)上的 CRUD 操作。

该应用程序具有标准的 n 层架构:

  • 网页界面
  • 封装在无状态会话 bean 和事务性 POJO 的混合体中的业务操作(使用 Spring)
  • 持久性是直接 JDBC(来自业务层内)和 EJB 2.x BMP 实体 bean(我知道,我知道)的混合体

我的问题是:是否有任何标准模式或(更好的)框架/库专门用于将审计添加为横切关注点?我知道 AOP 通常可用于实现横切关注点;我想知道是否有专门针对审计的东西。

0 投票
7 回答
10699 浏览

c# - 您如何为您的对象实施审计跟踪(编程)?

我需要在我的对象上实现添加/编辑/删除的审计跟踪,我正在使用 ORM (XPO) 来定义我的对象等。我实现了一个触发的审计跟踪对象

  1. 节省
  2. 删除

对于基础对象,我将更改存储在 Audit-AuditTrail (Mast-Det) 表中,用于字段更改。等使用一些方法服务调用。

您如何在 OOP 代码中实施审计跟踪?请分享您的见解?有什么图案之类的吗?最佳实践等?另一件事是如何在运行单元测试时禁用审计,因为我不需要审计它们,但因为基础对象有代码。

对对象的更改(编辑/添加/删除)以及需要审核哪些字段更改

0 投票
7 回答
75694 浏览

sql-server - 计算 SQL Server 存储过程中删除的行数

在 SQL Server 2005 中,有没有一种方法可以删除行并被告知实际删除了多少行?

我可以select count(*)在相同的条件下做一个,但我需要这个完全值得信赖。

我的第一个猜测是使用@@ROWCOUNT变量 - 但没有设置,例如

总是返回 0。

MSDN 建议OUTPUT构建,例如

这实际上因语法错误而失败。

有任何想法吗?

0 投票
8 回答
114742 浏览

database - 变更日志/审计数据库表的最佳设计?

我需要创建一个数据库表来存储不同的变更日志/审计(添加、删除、修改等内容时)。我不需要存储特别详细的信息,所以我在想一些事情:

  • id(用于事件)
  • 触发它的用户
  • 事件名称
  • 事件描述
  • 事件的时间戳

我在这里错过了什么吗?显然,我可以继续改进设计,尽管我不打算让它变得复杂(为事件类型或类似的东西创建其他表是不可能的,因为这对我的需要来说很复杂)。

0 投票
3 回答
1455 浏览

asp.net - 如何在用户离开 ASP.NET 应用程序时进行审核

在 ASP.NET 中,我正在寻找一种方法来审核离开我的应用程序的用户。具体来说,当用户的会话因任何原因被放弃/破坏时(不一定是因为对 session.abandon 的调用),我想在 SQL Server 的审计表中插入一条“注销”记录

我有一个管理会话设置器/获取器的“SessionHelper”类。

我已经尝试在 Global.asax 的 Session_End 中发回消息,但即使在超时过期后它也从未触发过此事件。

我尝试在 SessionHelper 类中覆盖“finalize”,并在该类被销毁时在那里执行它,但它也没有触发该事件。

我会尝试在 SessionHelper 中实现 IDisposable,但我不知道在哪里调用它,以便它总是被调用。

审核离开 ASP.NET 应用程序的用户的正确方法是什么?

谢谢!

0 投票
4 回答
6115 浏览

mysql - 我应该如何审计 MySQL 表中的更改(使用 MySQL 4)?

我被要求审核 MySQL 表中的任何/所有更改。有谁知道那里有任何工具可以帮助我做到这一点,还是我需要编写自己的解决方案?

如果我编写自己的审计,我最初的想法是制作一个单独的表并在 PHP 代码中构建一串更改。类似于“fieldname1 -> oldvalue | fieldname2 -> oldvalue, ...”。如果您发现此方法存在重大问题,请告诉我。