Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.Environment.UserName vs HttpContext.Current.User.Identity_C#_Asp.net_Authentication_Iis - Fatal编程技术网

C# System.Environment.UserName vs HttpContext.Current.User.Identity

C# System.Environment.UserName vs HttpContext.Current.User.Identity,c#,asp.net,authentication,iis,C#,Asp.net,Authentication,Iis,我们目前有一个使用模拟的.net应用程序,它安装在web.config中。应用程序正在使用此帐户对数据库进行身份验证。要求用户登录,并使用表单身份验证。最近,业务部门要求我们将应用程序改为使用windows用户身份验证 我将应用程序设置为使用windows身份验证,而不使用模拟部分。一切似乎都很好,我的问题是两者之间的区别是什么 System.Environment.UserName and HttpContext.Current.User.Identity 起初,我以为它们都会返回相同的东西

我们目前有一个使用模拟的.net应用程序,它安装在web.config中。应用程序正在使用此帐户对数据库进行身份验证。要求用户登录,并使用表单身份验证。最近,业务部门要求我们将应用程序改为使用windows用户身份验证

我将应用程序设置为使用windows身份验证,而不使用模拟部分。一切似乎都很好,我的问题是两者之间的区别是什么

System.Environment.UserName and HttpContext.Current.User.Identity
起初,我以为它们都会返回相同的东西,即windows帐户,但用户名给了我一个模拟帐户,同时标识了windows帐户

但根据这篇文章:
它们应该是一样的,但我看不出来。实际上,我希望他们有所不同,但我想确认我所看到的是正确的。

你提到的帖子中@kprobst的答案是正确的。经验法则:对web应用程序始终使用HttpContext.Current.User.Identity。@KiwiPiet这是我的想法,但为什么在运行测试时会有所不同呢?测试时,用户名为我提供模拟帐户,身份为登录到系统的用户的windows帐户。