- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须将审计添加到我没有编码的系统中,并且在编程时也没有考虑审计。
然后我遇到了 Audit.Net,这是一个多么棒的框架!
我也在使用 Audit.Mvc 扩展。
无论如何,我想在 HomeController 中添加一个 Target 对象到 AuditEvent 对象。我有这个:
[Audit]
public ActionResult CreateLeavePrerequest(LeaveRequest leaveRequest)
{...
var auditScope = this.GetCurrentAuditScope();
...
}
如何将 leaveRequest 作为目标添加到 auditScope 的 AuditEvent?
最佳答案
在当前版本中,Target 对象只能在 AuditScope
分配。创建,使用 Audit.Mvc
时您无法控制扩展名。
当然你可以像这样手动:
[Audit]
public ActionResult CreateLeavePrerequest(LeaveRequest leaveRequest)
{
SetTargetObject(leaveRequest);
// ... I guess here the leaveRequest object is modified
leaveRequest.SomeProp = "NewValue";
UpdateTargetObject(leaveRequest);
}
private void SetTargetObject(object value)
{
var scope = this.GetCurrentAuditScope();
scope.Event.Target = new AuditTarget
{
SerializedOld = scope.DataProvider.Serialize(value),
Type = value.GetType().Name
};
}
private void UpdateTargetObject(object value)
{
var scope = this.GetCurrentAuditScope();
scope.Event.Target.SerializedNew = scope.DataProvider.Serialize(value);
}
我将在下一个版本的库中提供一种重新分配 Target Getter 的方法(真的很快),因此可以简化这种用例。
但是如果你只需要一个版本的leaveRequest
对象,你可以只使用 Custom Field :
[Audit]
public ActionResult CreateLeavePrerequest(LeaveRequest leaveRequest)
{
this.GetCurrentAuditScope().SetCustomField("LeaveRequest", leaveRequest);
// ...
}
从版本 14.2.1 开始,该库公开了一个 SetTargetGetter(Func<object>)
AuditScope
上的方法更新目标 getter(返回目标对象以供审核的函数)。
所以第一个例子现在可以简化为:
[Audit]
public ActionResult CreateLeavePrerequest(LeaveRequest leaveRequest)
{
this.GetCurrentAuditScope().SetTargetGetter(() => leaveRequest);
// ...
leaveRequest.SomeProp = "NewValue";
}
关于c# - 如何使用 Audit.Net 扩展 Audit.Mvc 设置 AuditEvent 的目标对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55532387/
我能够找到 KeyVault 的诊断设置 - 当我通过选择指定类别单独启用它时 - 使用命令 Get-AzDiagnosticSetting 但是当我通过选择类别组启用它时 -audit & allL
有人可以帮我解决以下简单问题吗? 我已经设置了高级 key 保管库我已设置存储帐户 (Standard_LRS) 我现在正在尝试为我的 key 保管库启用日志记录(遵循以下 https://learn
我必须将审计添加到我没有编码的系统中,并且在编程时也没有考虑审计。 然后我遇到了 Audit.Net,这是一个多么棒的框架! 我也在使用 Audit.Mvc 扩展。 无论如何,我想在 HomeCont
关于某些执行器端点返回 404 的小问题。我有一个基于 Webflux 2.4.2 的网络应用程序,并且仅用于测试此问题,我正在使用 management.endpoints.web.exposure
我是一名优秀的程序员,十分优秀!