我在设置Web服务的基本身份验证时遇到问题。 我正在使用.NET 4.0编写标准Web服务(而不是WCF)
在web.config中,我有以下设置:
<configuration>
<system.web>
<identity impresionate="true" />
<authentication mode="Windows" />
</system.web>
...
</configuration>
Web服务有一种方法:
[WebMethod(Description = "Returns currently logged in user.")]
public string WhoAmI()
{
return "You are logged in as: " + System.Threading.Thread.CurrentPrincipal.Identity.Name;
}
测试服务器是与我的机器位于同一域的虚拟机。当我访问它时,我没有获得CurrentPrincipal.Identity.Name。
的任何内容我还尝试使用soapUI访问Web服务。我输入了用户名,密码和域名,但我仍然无法使用它。
任何帮助都将不胜感激。
答案 0 :(得分:1)
在IIS(inetmgr)上,您可以找到“认证方法”窗口。(WebService1-&gt;属性 - &gt;目录安全性 - &gt;认证控制 - &gt;编辑按钮)
您可以选择“认证访问”。 (Diggest,Basic,Integrated CERndication) 之后,您可以根据需要更改方法。
答案 1 :(得分:0)
如果您将impresionate
更改为impersonate