问题标签 [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.
grails - 在 Grails 中,如何从 Audit-Logging 插件覆盖 AuditlLogEvent 域类?
我试图创建一个域子类(不同的包),但迁移插件返回了模棱两可的类异常。
我尝试创建该域类的副本(相同的包),但编译器返回了重复的类错误。
如何正确覆盖 AuditLogEvent 类?我应该创建该插件的自定义副本吗?
grails - 如何构建 grails 审计日志插件?我得到 ModelBuildingException
我已经下载了 grails audit-logging-plugin 并展开了 zip。然后我安装了 Gradle。当我尝试运行任何命令时
我收到以下错误 H:\git\grails-audit-logging-plugin> c:\gradle-2.6\bin\gradle test
下面是我使用 --stacktrace 选项运行它时看到的内容 H:\git\grails-audit-logging-plugin> c:\gradle-2.6\bin\gradle test --stacktrace
我究竟做错了什么?
odoo - Is there any way to track every user action in Odoo v8
I installed auditlog, and smile_audit both looks similar but they just track the logs based on one module.
But I'm looking for all the modules in Odoo. Basically by a user. I tried defining rules by
but that does'nt track anything.Any solution for this?
graph - 使用时间序列在 OrientDB 中记录事件审计
我有一个使用 OrientDB 作为持久层的应用程序并取得了巨大的成功,我在考虑实施审计跟踪时遇到了一个十字路口。
IMO 审核应包括 4 个核心属性:
- 时间戳(动作发生的时间)
- 演员(执行动作的实体)
- 目标(被操作的实体)
- 操作(这可以由许多子部分组成,例如前后状态、描述等,具体取决于您的要求。)
一方面,各种实体之间的这种类型的关系非常适合图形数据库。另一方面(同样是 IMO)图形数据库在时间上并不是非常装备/易于操作。
我现在在两个想法之间左右为难:
创建时间序列
基本上,这个想法是在数据库中创建一个级联时间序列,表示分段顶点节点中的时间。
我将创建一个Audit
包含我的所有可操作属性的顶点,然后我将在 the和最近的时间顶点节点之间、在和 之间以及在和 之间创建Edge
关系。Audit
Audit
Actor
Audit
Target
建立直接关系
时间序列增加了需要考虑的复杂程度。假设审计需要通过 3 个根标准进行搜索;由和时间。Actor
_ 因为时间几乎总是一个要求,它确实使时间序列成为一个有吸引力的解决方案。把过去 30 天的一切都给我。Target
Audit
但是,如果我想搜索一个查询,该查询与过去 30 天的Get me all the行一致,Audit
其中 john 是Actor
. 可以想象,我可以忽略时间关系,只使用Edge
toActor
和Target
时间戳创建审计。
或者时间戳也可能是 的属性Edge
!
时间序列真的有任何优势,还是我只是增加了不必要的复杂性?在图形数据库中审计事件是否有更好的已经被接受的做法?
postgresql - Postgresql 创建日志模式
所以我的问题很简单。我有一个prod
包含许多表的模式,另一个log
具有完全相同的表和结构(主键更改就是这样)。当我做UPDATE
或DELETE
在模式中prod
时,我想在模式中记录旧数据log
。
我在更新或删除后调用了以下函数:
烦人的部分是我必须从information_schema
每一行获取列名。我宁愿用这个:
但是有些值可以NULL
这样执行:
INSERT INTO log.user SELECT 2,,,"2015-10-28 13:52:44.785947" 而不是 INSERT INTO log.user SELECT 2,NULL,NULL,"2015-10-28 13:52:44.785947"
任何想法转换",,"
为",NULL,"
?
谢谢
-昆汀
entity-framework - 实体框架,跟踪实体更改的通用方法,包括导航属性?
我已经看到了所有用于跟踪实体更改的问题,但这些解决方案都没有包含导航属性。这甚至可能吗?我不需要一些只记录所有内容的超级通用解决方案。我只想跟踪特定“主要”实体的事情。并且审计日志将是一个人类可读的自定义日志,所以不仅仅是一些具有 oldData newData 的表,就像我在此处的示例中看到的那样。
除了跟踪导航属性之外,我几乎已经做到了这一点,我在 POCO 的服务上有一个接口来确定我是否要跟踪更改,然后在我的entityService.Save
方法中我有这个检查:
保存更改方法是 ITrackChanges 接口公开的内容,并且将在每个实体的基础上具有自定义逻辑(这包括电子邮件通知等),但问题是我无法正确获取 oldEntity。目前该方法如下所示:
你可以看到我一直在玩的代码。我可以很好地获取常规属性的旧值和新值,但导航属性不会延续。但我需要这些信息,例如我正在编辑一个用户,在编辑用户屏幕上,可以删除和添加组。单击保存按钮时,它会执行这些更新。
所以我的更新视图如下所示:
我想解决问题的一种方法是,我正在调整.ConvertFromSaveeModel()
现有用户记录中上下文中实体的值,包括导航属性,所以一旦我调用保存,旧的导航属性数据就消失了。
是否有使用此工作流获取实体的原始导航属性信息?如果没有,我该如何更改工作流程以使其成为可能?如果我一开始不查询用户对象,而是从头开始创建一个,那么一些可能不会在 viewModel 中公开的数据将不会传递,所以我不确定这是否会起作用。还有其他建议吗?也许在我进行更改之前克隆实体并将其用作原始实体?这会继承导航属性吗?
java - 是否存在一些更好的方式来记录更新历史?
在我们的后端系统中,更新对象的情况有很多,比如更新商品、更新商品价格、更新用户、更新状态、更新订单(取消、更新价格)等等。现在有些对象我们有一个专门的日志表,例如 order_update_log ,用于记录更新操作。一些只记录到文件,例如
感觉处理这些琐碎的事情很烦人,是否存在一些更好的方式/工具来处理这样的记录器?
servicestack - 使用 ServiceStack 审计登录/注销事件
我是 ServiceStack 的新手,想知道如何在身份验证期间在表中捕获登录(成功和失败的尝试)信息,并想问一下你们之前是否做过此类工作。我还阅读了一个名为 RequestLogger 的功能(请参阅ServiceStack 请求记录器,目前不确定该走哪条路。我还阅读了有关使用过滤器拦截呼叫的信息。任何指针将不胜感激
audit - EventLog & ConvertFrom-String
我试图通过使用ConvertFrom-String
PowerShell cmdlet 来客观化安全事件日志,但无法解决。
首先,我从我的 DC 获取事件。
接下来我定义我的模板。
$tmpl = @'
{Event:A security-enabled global group was created.}
Subject:
Security ID: S-1-5*
{SubjectName:Account Name: andrew}
Account Domain: DOMAIN
Logon ID: 0x16D280EB
New Group:
Security ID: S-1-5*
{GroupName:Group Name: test1}
Group Domain: DOMAIN
Attributes:
SAM Account Name: test1
SID History: -
Additional Information:
Privileges: -
'@
最后我尝试把它变成对象。
但我的输出只是
Event: A security-enabled global group was created.
相反,我想得到类似的东西;
- 事件:已创建启用安全性的全局组
- 主题名称:安德鲁
- 组名:test1
而且我希望它能够兼容循环通过许多类似的事件来提取正确的位?
regex - 使用正则表达式匹配由等号分隔的相同数字
在查看 SQL 注入攻击的服务器日志时,很明显您在寻找什么(即单引号、1=1 等),但它让我想知道 2=2 等与 SQL 是如何相同的。
那么有没有办法检查用等号分隔的相同数字?
IE。1=1, 2=2, 3=3 全部匹配,但 1=2 不匹配。