Web服务的基本身份验证

时间:2010-12-03 10:15:29

标签: asp.net web-services basic-authentication

我在设置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服务。我输入了用户名,密码和域名,但我仍然无法使用它。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

在IIS(inetmgr)上,您可以找到“认证方法”窗口。(WebService1-&gt;属性 - &gt;目录安全性 - &gt;认证控制 - &gt;编辑按钮)

您可以选择“认证访问”。 (Diggest,Basic,Integrated CERndication) 之后,您可以根据需要更改方法。

答案 1 :(得分:0)

如果您将impresionate更改为impersonate

,是否有效?