为.net添加用户名到我的weblogs

本文关键字:我的 weblogs 用户 net 添加 | 更新日期: 2023-09-27 18:03:10

我希望asp.net/IIS7使用的weblogs在每个请求中都有客户的用户名和一些唯一的Id。实现这一目标的最佳方法是什么?或者是否有比IIS7的日志记录更好的工具?

在日志中的每一行,我想看到IP、用户名、用户id、日期时间以及他们正在查看的页面。我还想确保用户不能在页眉中看到这些ID。

如果我使用c#追加到日志。每次页面访问对性能的影响有多大?

我也使用表单认证,如果这是任何帮助。

为.net添加用户名到我的weblogs

我认为IIS日志不是应用程序特定的日志条目(如userid)的正确位置。我会选择自定义日志记录——用户在某个地方需要登录,因此您想要的值并不总是可用的。我所做的是创建一个点击路径日志,记录时间戳,URL,用户id和会话在每个页面加载,这是一个完整的页面加载。我已经使用企业库完成了这一点,因为我觉得这是非常舒适和快速的(我提到可配置吗?)。使用会话id,您还可以将IIS日志连接到自定义日志

如果你使用的是标准的IIS7日志记录,并且你的应用使用基于表单的身份验证,那么用户名可以包含在W3C日志文件中。在IIS管理界面中选择"Logging",确保格式为W3C,然后在"select fields"中确保选中User Name("cs-username")字段。

要研究生成的日志文件,请尝试logparser工具- http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24659 -这可以帮助您删除例如所有被请求的图像和css文件

一些示例文件输出为http://technet.microsoft.com/en-us/library/cc738725(WS.10).aspx

如何为日志文件选择字段- http://technet.microsoft.com/en-us/library/cc754702(WS.10).aspx

可以编写自定义运行状况监视提供程序并将其添加到运行状况监视部分。您可以将其保存到数据库或平面文件中。

看看这个视频。然后,您可以创建一个基页,并在每次加载页面时触发此自定义事件,提供写入文件时所需的所有信息。