Csharp/C#教程:WCF安全问题分享


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开始,它似乎没有传递我的凭据

有任何想法吗?

SSPI表示您正在使用Windows身份validation。

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

安全主体名称SPN创建教程

你遇到了所谓的双跳问题。 https://blogs.msdn.com/knowledgecast/archive/2007/01/31/the-double-hop-problem.aspx 。
解决方案通常是使用Kerberos身份validation,正如Spence所说,它涉及SPN之类的事情。

上述就是C#学习教程:WCF安全问题分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1001714.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐