WCF服务帐户

时间:2011-05-24 18:19:03

标签: vb.net wcf

我有一个WCF自托管为Windows服务。

当我启动该服务时(在NETWORK_SERVICE帐户下),我可以在其他服务器上使用我的ASP.NET应用程序中的服务。

但是,业务规则已经改变。现在我需要在自己的帐户下运行该服务。我可以停止服务,并在我的帐户下重新启动它。没问题。

直到我尝试从其他服务上的ASP.NET应用程序中使用该服务。我明白了:

A call to SSPI failed, see inner exception

我相对肯定我需要做一些安全明智的事情来消除这个错误,对所有这些都不熟悉我只是不知道是什么。

非常感谢任何帮助。

谢谢, 杰森

1 个答案:

答案 0 :(得分:0)

通常这是丢失或misconfigured SPN的标志,当您使用Windows身份验证(在传输或消息级别)并且正在协商Kerberos时,这会妨碍。

请注意,错误自身显示的方式/时间可能取决于客户端使用的URL中服务主机的主机名(或IP地址)的使用方式,因为默认情况下WCF会尝试推断出权利要根据URL信息使用SPN,除非您通过设置端点标识明确覆盖它。

您可能需要做的就是为您的新服务注册一个SPN(使用setspn.exe),并确保您的客户使用适当的身份。

有关WCF如何使用服务标识hereherehere的更多信息。