在我在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登录名。有什么建议吗?
答案 0 :(得分:3)
是否在IIS中设置了Windows身份验证?
您可能需要在IIS中设置基本和Windows身份验证的组合才能使其正常工作。
答案 1 :(得分:1)
您的服务是否确实有任何身份验证要求?大多数服务需要一些协商进行身份验证(例如,如果它是SOAP或在HTTP头中传递等)。
您使用哪个客户端来执行服务调用?如果Windows凭据位于受信任的连接(如Intranet或localhost)中,则它可以传递Windows凭据,但如果您从浏览器调用不受信任的域上的服务,或者使用其他客户端,则需要以不同方式传递凭据。 / p>