IIS没有拿起Windows用户

时间:2016-08-03 17:06:31

标签: c# asp.net iis webforms

我制作了一个在右上方显示Windows用户名的Web应用程序。 如果我在localhost:5903/index.aspx上打开webapp,我会得到正确的Windows用户。 像这样 -


enter image description here

但是如果我打开localhost/db/index.aspx我会得到IIS AppPool用户 -


enter image description here

这里db是我的应用程序的目录。

我不知道为什么会这样。我希望localhost也显示正确的用户名。

我的IIS树,这里DB(1)是我的webapp -

enter image description here

我选择Windows身份的C#代码 -

<li><% string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;%>
<a><%= userName %></a>
</li>

1 个答案:

答案 0 :(得分:2)

您需要在IIS中仅为Windows身份验证设置站点并关闭匿名。

为您的网站进入IIS,然后在功能视图下。

然后在IIS类别&gt;身份验证&gt;将Windows身份验证设置为已启用,将所有其他人(匿名....其他)设置为已禁用。

而不是......

System.Security.Principal.WindowsIdentity.GetCurrent().Name;

使用

 HttpContext.Current.User.Identity.Name;