问题标签 [audit-logging]

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 投票
3 回答
2051 浏览

php - 记录在数据库上执行了哪些活动的方法?-MySQL/PHP

我决定在我的数据库中创建一个新表,用于审核在我的数据库上执行的所有操作。

我的表“活动”相当简单,包含以下列:

  • activity_id - 主键
  • user_id - 用户的外键
  • action - 正在执行的查询类型(SELECT、UPDATE、DELETE)
  • 表 - 受影响表的名称
  • 行 - 受影响行的名称

我现在正在做的是在执行查询时,然后在它之后有另一个查询,它将信息插入到我的“活动”表中。

代码:

如您所见,我必须为每个查询手动执行此操作,并且我的系统中有超过 100 个查询,我真的不想输入单个查询来记录发生的情况。

我想知道 MySQL 中是否有任何功能可以告诉我已经执行了哪些操作,或者 PHP 中是否有任何库或技术可以帮助我?

还是我注定要在我的系统中写出 100 个单独的查询?

谢谢

0 投票
1 回答
1096 浏览

grails - Grails onLoad() 审计

我看到 grails-audit 插件提供了记录 onCreate() onUpdate() 事件的方法,但我还需要跟踪 onLoad() 事件。

有没有使用任何插件的标准方法?还是我需要自己实现?

0 投票
2 回答
1659 浏览

grails - 在 grails 中使用审计日志插件

我打算在 grails 中使用审计日志插件,只是想知道一些基本的东西。
我们必须手动创建审核域类并将来自域类的各种事件的数据保存到此表中,对吗?
我的意思是插件不会创建域并坚持我确定..但这会是保存审计数据的标准方法吗?另外
,如果我想在审核日志中输入类似

“用户 sam 在“时间戳”从“IP”登录并更新了用户乔治”

我需要"onLoad"在域中的事件中处理它,对吗?

另外我将如何跟踪简单的事件,例如

“用户 Rita 在“时间戳”登录”

谢谢

0 投票
1 回答
309 浏览

grails - inserting audit logging entry for user login

I am using the grails 1.3.7 with audit logging plugin. I want to capture user login event like "user:PSam logged in at .." in the logs and since plugin does not have onLoad event defined, I am adding it to the domain classes and populate my own audit table entry in this event. So in grails user domain class I do as follows

I am having two issues here... 1) the username property defined in this domain class as an attribute is coming up as null 2) it throws an exception saying: No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

Is there another approach to be taken here? and also can use the plugins audi_log table to populated my onLoad() events entries?

Thanks in advance

0 投票
2 回答
239 浏览

sql - 在 SQL 中创建查询时需要一些帮助吗?

我有 6 张桌子:

要回答的问题:给定一个产品 ID,删除该产品的记录。删除产品后,所有相关的常见问题解答都可以保留在数据库中,但在 ProductID 字段中应该有一个空引用。但是,删除产品也应删除任何相关的票证及其更新。为了完整起见,已删除的工单及其更新应复制到一个审计表或一组维护产品、工单和更新的历史数据的表中。(提示:您将需要定义一个或多个附加表来维护此审计信息,并在删除产品时自动复制任何已删除的工单和工单更新)。您的审计表应记录请求删除的用户和删除操作的时间戳。

我创建了额外的维护审核表:

另外,我创建了 1 个函数和触发器:

当我运行这一切时,我得到了这个:

伙计们,你能帮我解决这个问题吗?

0 投票
2 回答
850 浏览

c# - 如何使用 Asp.net 和 SQL Server 在应用程序中审计日志?

我在我的 SQL Server 表中创建了以下列:

每当发生插入、更新或删除时,将相关数据插入上述审计表的最佳可能和最有效的方法是什么。

请指教。谢谢。

0 投票
1 回答
1661 浏览

sql-server - 自定义审计与自定义日志记录 - SSIS

他们两个不是一样的吗?

我正在阅读[这篇文章][1]

[1]:http ://www.sqlmag.com/content1/topic/ssis-logging-and-data-auditing/catpath/business-intelligence-development-studio-bids/page/2我还不清楚自定义日志记录和审计之间的区别。他们似乎都在包运行时记录事件......我对此没有太多经验,所以如果有人这样做/做过这个,你能为我澄清一下吗?

谢谢

0 投票
1 回答
5144 浏览

spring - Java EE 应用程序中的审计日志解决方案

我们当前的应用程序使用技术堆栈,例如:Struts2、Spring 和 Hibernate,它们是 Java EE 应用程序中使用的常见堆栈。

我们想在我们的应用程序中引入审计日志(针对每个 CRUD 操作)的想法。

只是想要一个通用的方式/模式(这意味着我不想为每个实体做一些日志记录,只是通用的)在我们的应用程序中进行审计日志记录?最好同时拥有设计和实现细节或示例。

我们也可以使用 Struts2 的拦截器或 Spring AOP 或 Hibernate 的功能来进行审计日志记录吗?

0 投票
1 回答
1673 浏览

hibernate - 休眠。实体更改\修订历史

框架:带有 Hibernate 3 的 Spring 3。

数据库:甲骨文 11

要求:我们的应用程序将具有事件对象。这些 Event 对象中的每一个都是一组 Entity 属性(表列)的封装。因此,无论何时在我们的系统中更新任何实体时,我们都需要确保对实体所做的更改是否属于任何事件对象,如果是,我们需要将此信息与记录的副本一起存储在数据库中实际变化。

解决方案(据我所知):

  1. 使用像 Hibernate Envers 这样成熟的审计框架,并围绕审计表查询功能编写一个小包装器,以完成我需要的。一个问题是,hibernate Envers 是否有一种简单的方法来提供两个版本之间的变化。

  2. 使用自定义注释将属性标记为属于事件并使用 AOP 监视对这些属性的更改作为保存操作的一部分并调用自定义写入操作。

我更喜欢第二个想法。

请就完成此任务的最佳方法分享您的意见\想法。是否有针对此类问题的现有解决方案?

0 投票
3 回答
1033 浏览

sql - SQL Server 审核同一张表中的数据

我正在处理的一个项目要求对记录进行数字“签名”,之后任何修改都会创建该行的新“版本”。出于监管原因,不能修改“签名”记录,并且不应该经常修改新版本。过去,这样做是通过创建一个与主表具有相同架构的单独日志记录表以及一些额外的列来跟踪谁修改它以及何时修改它。

但是,在使用 SharePoint 进行一些工作后,将所有数据(包括不同版本)放入同一个表中,我想到了一种不同的方法,我找不到任何人这样做的例子:我可以把新版本的行放在右边在同一个表中并增加版本号。然后将版本号添加到PK。

优点:

  • 实现很简单,只需创建一个“代替更新”触发器,它执行插入而不是更新行是“签名的”。我可以轻松地在触发器中添加要更新的 IsCurrentVersion 列。
  • 查询旧版本很容易,只需获取具有我想要的 ID 的所有记录,让用户从列表中选择。
  • 触发器很好,因为它保证如果签名后行不能被更新(出于监管和审计目的)。
  • 不必将表的模式更改复制到镜像“记录”表。

缺点:

  • 该表可能会变大一些,但大多数情况下,“签名”后记录不会更改。客户估计在当前使用水平下每年最多 100,000 行。SQL Server 可以处理数亿行,所以这看起来还不错。
  • 索引和性能可能是一个问题。SharePoint 将 tp_CalculatedVersion int 添加到 PK,其中最新版本的计算数字始终为 0。我可以做同样的事情并根据版本号计算它。这对性能有帮助吗?
  • 查询数据有一个额外的步骤,以确保您获得最新版本,但这可以在 SP 中处理。

  • 在这种情况下还有什么其他缺点。我错过了什么吗??