ASP.NET 事件日志:填充“用户”场地?
我正在从 ASP.NET Web 应用程序写入应用程序事件日志。如何填充日志条目的“用户”字段?
I'm writing to the Application event log from an ASP.NET webapp. How can I populate the "User" field of the log entry?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
事件日志条目中记录的用户是在进行事件日志记录调用时“拥有”该线程(从安全角度来看)的用户。在 ASP.Net 应用程序中(默认情况下),这将是 ASP.Net 运行所用的帐户。
您可以使用 Windows 模拟更改线程在哪个用户下运行。有关 SO 的示例问题,请参阅:
C# 的 Windows 模拟
这是一个不平凡的领域,而不是简单地向事件记录调用提供用户详细信息的情况。
The user that is recorded in the event log entry is the user that "owns" the thread (from a security perspective) at the time the event logging call was made. In an ASP.Net application (by default) this will be the account that ASP.Net is running under.
You can change which user a thread is running under using windows impersonation. For an example question on SO, see:
Windows Impersonation from C#
This is a non-trivial area, and not a case of simply supplying user details to the event logging call.
我从 Asp.net 配置文件中获取了用户名。然后我将它传递到方法中。在这里,我在 Global.asax 中使用了它,但相同的原理应该在其他地方工作。
I grabbed the Username from Asp.net profile. Then I passed it into the method. Here I've used it in Global.asax, but the same principal should work elsewhere.