ASP.NET中的System.Web.HttpContext.Current.User.Identity.Name与System.Environment.UserName的对比

在ASP.Net Web应用程序项目的上下文中, System.Web.HttpContext.Current.User.Identity.NameSystem.Environment.UserName之间有什么区别?

这是我正在尝试做的代码:

 Database myDB = DatabaseFactory.CreateDatabase(); bool IsAuthUser = myDB.ExecuteScalar("procIsAuthorizedUser", System.Environment.UserName); 

如果它们function相同,哪个性能更好?

这是一个C#4.0 / ASP.Net Web应用程序,它将在组织内部看到适度的使用情况。 谢谢你的回答。

System.Environment.UserName返回承载Web应用程序的应用程序池正在运行的标识。 如果您正在使用Windows身份validation和模拟,那么它将是实际用户的名称,但在所有情况下,您最好使用HTTP上下文提供的信息。 无论如何都没有任何表现。

描述

System.Web.HttpContext.Current.User.Identity.Name

获取或设置当前HTTP请求的安全信息。 (您网站上登录用户的名称)

System.Environment.UserName

获取当前登录到Windows操作系统的人员的用户名。

更多信息

  • MSDN – HttpContext.User属性
  • MSDN – Environment.UserName属性