无法获取用户的Windows登录名?

时间:2011-10-27 01:53:42

标签: c# asp.net windows

在我在Intranet上部署的ASP.NET应用程序中,我在Web服务中使用类似的东西来获取当前用户的Windows登录:

string user = User.Identity.Name.ToString();

并将以下内容添加到我的Web.config文件中:

<system.web>
    <authentication mode="Windows" />
    <identity impersonate="false" />
</system.web>

当我在本地部署我的站点但在我发布它并使用实际的URL(而不是localhost)来访问它时不起作用。我错过了什么吗?我想获取当前访问我网站的用户的Windows登录名。有什么建议吗?

2 个答案:

答案 0 :(得分:3)

是否在IIS中设置了Windows身份验证?

您可能需要在IIS中设置基本和Windows身份验证的组合才能使其正常工作。

答案 1 :(得分:1)

您的服务是否确实有任何身份验证要求?大多数服务需要一些协商进行身份验证(例如,如果它是SOAP或在HTTP头中传递等)。

您使用哪个客户端来执行服务调用?如果Windows凭据位于受信任的连接(如Intranet或localhost)中,则它可以传递Windows凭据,但如果您从浏览器调用不受信任的域上的服务,或者使用其他客户端,则需要以不同方式传递凭据。 / p>