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

时间:2012-01-12 20:28:05

标签: c# asp.net httpcontext

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

以下是我正在尝试做的代码:

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

如果功能相同,哪个性能更好?

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

2 个答案:

答案 0 :(得分:34)

描述

<强> System.Web.HttpContext.Current.User.Identity.Name

  

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

<强> System.Environment.UserName

  

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

更多信息

答案 1 :(得分:13)

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