在我的Web应用程序(java/tomcat/struts/mysql)中保留用户更改日志的最佳方式是什么?我给出帐户,每个帐户都有多个用户。我希望帐户管理员能够在任何给定时间看到谁做了什么。我希望能够访问它的全部内容。首先,我需要一种方法来了解哪些字段已被更改,然后我需要在每个帐户可以看到的地方记录更改。很明显,我不想让应用放慢速度。我在这个网站上阅读了一个答案,建议保留一个数据库日志 - 在发送每个查询后查询数据库的变化。不知道该怎么做。在Web应用程序中保存用户更改的日志
0
A
回答
1
这取决于您的Web应用程序的性质。假设您的Web应用程序是一个电子商务系统,它允许用户添加新产品或更新现有产品。当用户执行添加新产品等特定操作时,其基本目标是捕获其用户名,操作和时间戳。更新产品时,您可能想要跟踪他更新的价值,旧价值和他什么时候改变价值。
要做到这一点,首先你需要
创建一个审计表
- 显然要跟踪上次修改人,时间戳,通过创建等
每当执行一些更改/操作时创建一个日志记录机制。
- 有几种方法可以做到这一点,你可以通过应用程序来做到这一点,或将所有事情都留给数据库触发器。我建议使用触发器来检测数据库中的任何创建/更新/删除事件,并要求触发器捕获细节并写入审计表。我认为这是最简洁和维护少的方式。但是,如果要使用应用程序登录,则必须更改代码,创建新方法以将详细信息捕获到操作类中的审核表。在MySQL触发
更多信息here
-1
我一直在寻找一个类似“法”来记录交易和其他的东西在我的web应用程序。就在浏览Google时,我发现这个链接: https://www.owasp.org/index.php/Logging_Cheat_Sheet告诉你两种可能的登录方式:无论是在数据库还是在某些日志文件的文件系统上......
当使用文件系统中,优选使用单独的 分区比那些由操作系统使用的,其它的应用程序 文件和用户生成的内容对于基于文件的日志,应用关于严格 权限的用户可以访问目录以及目录中的文件的权限在Web应用程序中, 日志不应在Web可访问位置公开,并且如果已完成 ,则应该具有受限访问权限并使用纯文本配置 MIME键入(不是HTML)使用数据库时,最好 使用单独的数据库仅用于编写日志 数据并具有非常严格的数据库,表格,功能和 命令权限使用标准格式通过安全协议 记录并将事件数据或日志文件发送到其他系统,例如,通用 系统日志上的日志文件系统(CLFS),通用事件格式(CEF),未来可能的公共事件表达式(CEE);标准格式 方便与集中式日志记录服务
整合他们已经解释精美的可能的方式,我们可以登录,什么应该被记录下来,避免什么了。
希望它对你有用。
相关问题
- 1. 更改诊断日志重新启动Web应用程序
- 2. 保存在Web应用程序中
- 3. 使用PowerShell在Web应用程序中启用应用程序日志记录
- 4. Web应用程序用户操作日志记录
- 5. JSF Web应用程序用户日志记录。如何?
- 6. red5 - 应用程序日志文件保存在哪里?
- 7. JMeter在哪里保存测试/应用程序日志?
- 8. 如何保持更改时间在C#web应用程序中
- 9. 使用ajax保存web应用程序的用户选择
- 10. Logback:如何在Web应用程序中为每个“用户”分隔日志?
- 11. 在Web应用程序中为每个用户创建日志文件
- 12. 保存可见的用户日志
- 13. PHP应用程序日志存储
- 14. 存储应用程序日志一天
- 15. MVC 4 web应用程序中的应用程序范围日志记录
- 16. 如何保持用户活动日志并显示在Android应用程序中?
- 17. 如何更改应用程序的Mule日志文件大小
- 18. Rails应用程序在Heroku日志中缺少web.1登录
- 19. 在web应用程序中查看日志跟踪
- 20. 如何在asp.net web应用程序中创建日志文件?
- 21. asp.net web用户的日志会话和会话更改
- 22. 如何创建应用程序日志并保存它?
- 23. 哪里可以保存应用程序日志?
- 24. Azure的Web应用程序跟踪日志没有出现在日志
- 25. 查看我的web应用程序在线(HTMLLayout)的logback日志
- 26. 应用程序日志
- 27. iPhone - 崩溃日志保存在iPhone应用程序中的哪个位置
- 28. 保存和Web应用程序
- 29. 更改Rails应用程序日志记录目录
- 30. 应用程序日志azure web应用程序的最佳实践?