Asp.net web服务的基本身份验证

Asp.net web服务的基本身份验证,asp.net,web-services,basic-authentication,Asp.net,Web Services,Basic Authentication,我在为web服务设置基本身份验证时遇到问题。 我正在使用.NET4.0编写标准web服务(而不是WCF) 在web.config中,我有以下设置: <configuration> <system.web> <identity impresionate="true" /> <authentication mode="Windows" /> </system.web> ... </con

我在为web服务设置基本身份验证时遇到问题。 我正在使用.NET4.0编写标准web服务(而不是WCF)

在web.config中,我有以下设置:

<configuration>
    <system.web>
        <identity impresionate="true" />
        <authentication mode="Windows" />
    </system.web>
...
</configuration>
测试服务器是与我的计算机位于同一域上的虚拟机。当我访问它时,我没有得到CurrentPrincipal.Identity.Name的任何信息

我还尝试使用soapUI访问web服务。我输入了我的用户名、密码和域名,但仍然无法使其正常工作


任何帮助都将不胜感激。

如果您将
impressionate
更改为
impersonate

在IIS(inetmgr)上,您可以找到“身份验证方法”窗口。(WebService1->属性->目录安全->身份验证控件->编辑按钮)

您可以选择授权访问。(数字、基本、综合认证)
在此之后,更改方法将按您的意愿工作。

出于某种奇怪的原因,我无法通过编辑web.config文件来设置基本身份验证。我只能通过IIS来完成。
[WebMethod(Description = "Returns currently logged in user.")]
public string WhoAmI()
{
    return "You are logged in as: " + System.Threading.Thread.CurrentPrincipal.Identity.Name;
}