在ASP.NET中,System.Web.HttpContext.Current.User.Identity.Name与System.Environment.UserName有何区别?

23

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

以下是我尝试实现的代码:

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

如果它们在功能上相同,从性能角度来看哪个更好?

这是一个基于C# 4.0/ASP.Net的Web应用程序,在组织内部会有适度使用。感谢您的回答。

2个回答

41

17

System.Environment.UserName 返回托管 Web 应用程序的应用程序池所在的身份标识。如果您使用的是 Windows 身份验证和模拟,则会返回实际用户的名称;但是,无论哪种情况下,最好使用 HTTP 上下文提供的信息。两种方式都不会影响性能。


5
我使用以下代码获取用户名:username = HttpContext.Current.Request.LogonUserIdentity.Name.ToString().Split('\\')[1]; 如何获取用户的显示名称? - SearchForKnowledge

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