WCF安全问题

7 .net c# asp.net wcf

我有一个应用程序访问托管在控制台应用程序中的服务器上的WCF服务.我没有问题,当我尝试从另一台服务器上的控制台应用程序访问另一项服务时,我遇到了问题.

我正在使用TCP连接,我正在使用所有默认安全值.

所以我将从A-> B开始,然后它从B-> C继续死亡.请注意,当我离开A-> C时一切都很好

错误:"对SSPI的调用失败"......"目标主体名称不正确"...堆栈跟踪...

在B中我打印出
Console.WriteLine(ServiceSecurityContext.Current.PrimaryIdentity.Name); Console.WriteLine("ServiceSecurityContext.Current.WindowsIdentity.Name);
我可以看到它是我的Windows登录哪个好

因此,从B-> C开始,它似乎没有传递我的凭据

有任何想法吗?

Spe*_*nce 8

SSPI表示您正在使用Windows身份验证.

您是否在域中为服务C创建了安全的主体名称?google setspn命令.问题是Windows不会将凭据从域传递到不受信任的系统.您可以通过在域中提供安全主体名称来信任它,然后允许传递令牌.

安全主体名称SPN创建教程