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

3

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

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

3个回答

3

不太容易。

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


0

或者,使用ASP.NET成员资格提供程序编写一些定制代码将它们记录在数据库中!


0

是的,asp.net做得很糟糕...你会认为他们会更好地集成IIS日志 :-P

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接