在ASP.NET中获取域用户ID

我有一个ASP.NET应用程序,员工登录到Windows,然后他们必须从一长串名称中选择他们的名字并登录到应用程序。

我想要做的是,一旦员工打开应用程序,它就会从下拉框中选择他们的名字。

我相信如果我可以在页面加载时获得Windows用户ID,那么我可以根据登录的Windows用户使我的代码选择用户。

问题是。 如何获得当前登录C#Asp.net的Windows用户ID? 有任何想法吗。

试试这个:-

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

另请查看此论坛 。

更新: –

1)请检查您是否在IIS中禁用了匿名模式

2)还要检查您是否已将应用程序设置为validation用户详细信息,如下所示: –

      

或者像这样: –

      

3)您可以在控制面板中配置IIS,以便您的站点(或计算机)使用Windows身份validation并拒绝匿名访问

我遇到了一个相关的问题,我的本地版本将WindowsIdentity.GetCurrent()。Name.ToString()值识别为我的Windows帐户名,但是当我通过服务器访问网站时,它始终是“DefaultAppPool”。

通过执行以下操作,我能够使其工作:

  1. 打开IIS并导航到我的网站。
  2. 在IIS部分下,双击“身份validation”。
  3. 从那里,禁用“匿名身份validation”和“表单身份validation”。
  4. 启用“Windows身份validation”。

从那里我能够识别用户ID /名称并继续我的编码。 我不得不重做一点,但这非常值得。 感谢您的建议!