.NET登录用户

时间:2012-02-20 16:24:50

标签: c# asp.net

我的问题是我有一个asp.net解决方案,它使用一个单独的项目进行日志记录,现在我希望日志能够保存登录用户。 Windows身份验证用于webapp,应用程序池在服务帐户下运行。因此,当我通过方法(静态)调用记录器时,我希望记录器选择登录用户。我目前唯一得到的是应用程序池运行的服务帐户。

有关如何从webapp获取用户的任何想法吗?

3 个答案:

答案 0 :(得分:2)

您可以使用HttpContext.Current.User.Identity.Name。我认为HttpContext.Current即使在单独的项目中也应该正确初始化。

答案 1 :(得分:2)

确保您的线程主体与System.Web.HttpContext.Current.User

相同

在global.asax中的Application_AuthenticateRequest方法结束时,您可能需要以下内容:

System.Threading.Thread.CurrentPrincipal = System.Web.HttpContext.Current.User;

答案 2 :(得分:0)

是。显然不是来自记录器。你需要以某种方式访问​​HttpRequest - 在页面等。

因此,它在应用程序中嵌入的日志框架中是可行的,它不能从不同的级别实现。

用户将被记录在请求级别属性中。