0

我们正在连接到关闭匿名访问、打开 Windows 身份验证的 WCF Web 服务。web.config 文件有一个本地用户帐户,用于允许用户和拒绝用户=“?”。

我可以很好地下载和生成服务代理(被提示输入凭据),但是从我的 Windows 窗体项目(即使在传递凭据时),我收到以下错误:

System.ServiceModel.Security.MessageSecurityException was unhandled
  Message="The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Basic realm=\"SEIPART001\"'."

Message="The remote server returned an error: (401) Unauthorized."

这是我的示例代码:

ip.eIPCShoppingCartWSSoapClient client = new iParts.ip.eIPCShoppingCartWSSoapClient();
System.Net.NetworkCredential creds = new System.Net.NetworkCredential("username", "password", "domain");

client.ClientCredentials.Windows.ClientCredential = creds;
iParts.ip.OrderListItem[] listItem = client.GetOrderList("1234"); //throws exception here
4

3 回答 3

1

看起来您的服务要求进行基本身份验证;不是windows集成身份验证。

在这种情况下,我认为您需要使用 ClientCredentials.UserName 属性而不是 ClientCredentials.Windows 指定客户端代理上的凭据。

于 2008-10-11T12:00:48.200 回答
0

看起来你应该切换到运输安全。查看配置的安全部分。

于 2008-12-17T15:50:02.703 回答
0

没变。虚拟目录要求 Windows Auth 并传入本地用户。它在浏览器中运行良好,但服务不断出错。

于 2008-10-11T20:21:20.780 回答