在IIS日志中记录ASP.Net用户

时间:2009-06-19 13:33:16

标签: asp.net iis authentication logging

我有一个使用ASP.NET表单身份验证的ASP.NET 3.5应用程序(在IIS 6.0上)。在我的IIS日志中,我已启用扩展日志记录,包括cs-username字段。即使用户登录我的网站后,cs-username仍会显示“ - ”。

有没有办法让经过身份验证的ASP.NET用户名出现在日志的用户名字段中?

3 个答案:

答案 0 :(得分:2)

不容易。

默认情况下,cs-username是HTTP身份验证用户名,而不是表单身份验证。您可能能够编写ISAPI DLL来拦截调用,解析ASP.NET身份验证令牌cookie,如果必须解密它并从成员资格中检索用户名提供拦截SF_NOTIFY_LOG并响应ON_LOG事件以设置正确的名称,但这不重要。

答案 1 :(得分:0)

Alernatively,使用ASP.NET memebership提供程序编写一些自定义代码,以便将它们记录在数据库中!

答案 2 :(得分:0)

是的,非常蹩脚的asp.net ...你认为他们会更好地整合它与IIS日志:-P

您可以使用此isapi过滤器,但我不确定它是否适用于IIS7(Windows 2008)。应该在Win2003中正常工作: http://www.codeproject.com/KB/trace/isapilogger.aspx