C# C asp.net-在部署服务器上获取windows用户登录帐户

C# C asp.net-在部署服务器上获取windows用户登录帐户,c#,asp.net,C#,Asp.net,我正在使用C asp.net获取windows登录帐户域\用户名,以便自动登录我的网站。在visual studio上本地运行语句System.Security.Principal.WindowsIdentity.GetCurrent.Name.ToString时,我可以正确获取帐户。但是,将网页部署到部署服务器后,它将返回NT AUTHORITY\IUSR 我在internet上找到的大多数解决方案是使用Windows身份验证而不是匿名身份验证。我尝试过这个解决方案,当运行web时会出现一个用

我正在使用C asp.net获取windows登录帐户域\用户名,以便自动登录我的网站。在visual studio上本地运行语句System.Security.Principal.WindowsIdentity.GetCurrent.Name.ToString时,我可以正确获取帐户。但是,将网页部署到部署服务器后,它将返回NT AUTHORITY\IUSR

我在internet上找到的大多数解决方案是使用Windows身份验证而不是匿名身份验证。我尝试过这个解决方案,当运行web时会出现一个用户登录窗口。它需要输入已部署服务器的用户名和密码。但是,我的windows用户登录帐户无法登录到部署服务器。因此,我无法在我的计算机上运行web


我想知道,如果我的Windows帐户无法登录到部署服务器,是否可以获得Windows用户登录帐户

请尝试启用两种身份验证方法。首先,您必须像前面提到的那样启用Windows身份验证,以便将Credentail自动传递到服务器,当然,只能在Intranet中。 此外,您必须激活ASP.NET模拟以允许服务器使用传递的凭据。 帮助会告诉您原因:

如果要运行您的应用程序,请使用ASP.NET模拟身份验证 ASP.NET应用程序在不同于 默认

在web.config中,必须将以下节点添加到system.web节点,以告知应用程序将凭据传递到服务器:

<identity impersonate="true"/>
<authentication mode="Windows" />

很抱歉,我想知道如何将我的凭据自动传递到服务器?如果您像上面提到的那样设置项目和服务器,您的windows凭据将自动传递。我尝试了您的建议,在IIS上启用windows身份验证和ASP.NET模拟,并在web.config上添加这两条语句。但问题依然存在。我需要在运行网站时输入用户帐户和密码,但我的登录用户帐户无法登录到部署服务器。