代码之家  ›  专栏  ›  技术社区  ›  Ian Roke

跟踪ASP.NET MVC中的用户更改

  •  3
  • Ian Roke  · 技术社区  · 16 年前

    我需要跟踪认证用户在登录时对数据所做的更改。我不需要跟踪他们看到的页面,尽管这在将来可能非常有用。

    我已经考虑过保存用户guid,但这看起来很笨拙。我需要做一些简单的事情,比如旧价值和新价值。我使用的是实体框架,是否支持SQL Server中存储过程的实体框架?

    是否有其他方法/最佳实践?

    1 回复  |  直到 16 年前
        1
  •  3
  •   Ryan    16 年前

    这不是一个真正的ASP.NET MVC问题。您可以在EF层中实现审计。 Here 这是我刚找到的一个快速样品。

    我发现审计的诀窍在于理解为什么你需要得到支持。通常,用户会说他们想要审计,但实际上他们只想知道最后一次编辑的日期/用户。您应该知道它们是否需要撤销功能、安全审计等。这是为了遵守法规还是为了让DBA修复用户错误?通常,与手动编辑数据库相比,删除和重新输入数据要简单得多。此外,回滚数据将如何影响其他报告问题?如果您更改了数据并重新运行了报表,则它将与原始报表不匹配。如果这是一个问题,您需要存储原始结果或具有事件源模型。不好玩。

    审计的第二个难题是找出如何显示数据。有时SQL查询是可以接受的,有时用户希望在UI中有完整的历史记录。我的建议是审查您案例的业务需求并研究适当的实现。

    此外,如果需要审核数据库中的关系更改,则没有简单的解决方案。祝你好运!