在ASP.NET中获取域用户ID

时间:2013-08-26 20:56:41

标签: c# asp.net

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

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

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

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

2 个答案:

答案 0 :(得分:9)

试试这个: -

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

同时检查此forum

<强>更新: -

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

2)另外,请检查您是否已将应用程序设置为验证用户详细信息,如下所示: -

 <authentication mode="Windows"/> 
    <authorization> 
       <allow users="*"/>
    </authorization>

或者像这样: -

  <authentication mode="Windows" /> 
     <authorization> 
        <deny users="?"/> 
     </authorization>

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

答案 1 :(得分:1)

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

我可以通过以下方式让这个工作:

  1. 打开IIS并导航到我的网站。
  2. 在IIS部分下,双击&#34;身份验证&#34;。
  3. 从那里,禁用&#34;匿名身份验证&#34;和#34;表单身份验证&#34;。
  4. 启用&#34; Windows身份验证&#34;。
  5. 从那里我能够识别用户ID /名称并继续我的编码。我不得不重做一点,但这非常值得。谢谢你的建议!