【发布时间】:2020-12-07 18:53:32
【问题描述】:
我有一个 .net core 2.1 web api,它通过 windows 身份验证调用 WCF 服务:
appsettings.json
"MyService": {
"BasicHttpBinding": {
"Security": {
"Mode": "TransportCredentialOnly",
"Transport": {
"ClientCredentialType": "Windows"
}
}
},
"UserPrincipalName": "mydomain/myUser"
},
mydomain/myUser - 它是一个有权调用 MyService 和 MyMethod() 的用户
code.cs
using (var client = new ServiceClient<IMyService>(BasicHttpBinding, new EndpointAddress(new Uri(myServiceUrl), UpnEndpointIdentity)))
{
var result = client.Proxy.MyMethod();
return result;
}
当我尝试从我的应用程序调用 wcf 服务时,出现错误:
HTTP 请求未经客户端身份验证方案授权 '谈判'。从服务器收到的身份验证标头是“协商”
我已尝试在 startup.cs 中指明身份验证架构:
services.AddAuthentication(IISDefaults.Negotiate);
但运气不好,异常还是被复制了。
我该如何解决这个问题?
【问题讨论】:
标签: c# wcf authentication asp.net-core-2.1