获取Windows用户登录的C#ASP

时间:2015-07-06 19:34:43

标签: c# windows

我尝试了很多选项来让当前用户登录Windows。 我有这个网络用户。

HttpContext.Current.User.Identity.Name

我没有用户登录表单,我不想把它放在我的proyect中,因为我不需要这个。

Environment.UserName

我有这个=" ASP.NET V4.0集成"

我试图通过此代码获取当前用户,但我有一个包含4个用户,2个管理员,一个受邀用户和我当前用户的对象,但我找不到区别之处。

 SelectQuery sQwuery = new SelectQuery("Win32_UserAccount", "Domain='" + System.Environment.MachineName + "'");
 ManagementObjectSearcher mSearcher = new ManagementObjectSearcher(sQwuery);
 foreach (ManagementObject mObject in mSearcher.Get())
 {
     var users= mObject;
 }

那是我的4个用户

base = {\\DOOKU\root\cimv2:Win32_UserAccount.Domain="DOOKU",Name="Administrador"}
+ [1] {\\DOOKU\root\cimv2:Win32_UserAccount.Domain="DOOKU",Name="Administrator"} object {System.Management.ManagementObject}
+ [2] {\\DOOKU\root\cimv2:Win32_UserAccount.Domain="DOOKU",Name="Invitado"} object {System.Management.ManagementObject}
+ [3] {\\DOOKU\root\cimv2:Win32_UserAccount.Domain="DOOKU",Name="MyUser"} object {System.Management.ManagementObject}

我这个案子我需要最后一个 还有其他选择可以找到这个吗? 感谢。

1 个答案:

答案 0 :(得分:1)

使用“Environment.UserName”,您将检索与承载IIS应用程序的IIS 应用程序池关联的用户标识。您需要当前运行该站点的经过身份验证的用户的标识。

如果您在网站上匿名访问 已禁用 Windows身份验证 已启用,那么您真的应该利用< / p>

HttpContext.Current.User.Identity.Name

获取与运行应用程序的用户关联的名称。我在你的原始帖子中注意到你“不需要那个”,但是对于我所理解的是你的要求,我想你做到了。当前的HTTP上下文保存用户身份。