无法满足安全令牌请求,因为身份验证失败

时间:2009-10-15 01:20:34

标签: wcf

这与我在SO上发现的有关此问题的其他问题有点不同......

我们正在运行2个网站,一个是WCF服务,另一个是服务的客户端。每当我们尝试访问该服务时,都会收到消息“由于身份验证失败,无法满足安全令牌请求。”

这两个网站都托管在同一台计算机上并位于同一个应用程序池中。这两个网站都托管在端口80上,并且具有不同的主机标头...示例:client.website.com和服务.website.com

我们在服务端使用wsHttpBinding:

        <endpoint address="http://service.website.com/MessagingService.svc/wshttp"
            binding="wsHttpBinding"
            contract="WebServices.IMessagingService"
            bindingNamespace="CNI/CNIMessenger"
            bindingConfiguration="wsHttpBindingConfig"
            name="wsHttpBinding">
        </endpoint>

当我们尝试运行该服务时,我们得到上述错误。经过几个小时的调试后,我发现如果我使用服务配置地址而没有任何网址只有 wshttp 并将我的客户端指向IP地址/端口,一切正常。例如:

<endpoint address="wshttp"
... And client address points to: http://127.0.0.1:8888/MessagingService.svc/wshttp

当我更改地址和网站以使用service.website.com并保留端口8888时,我仍然会收到同样的错误。

有没有人对此有任何见解?非常感谢!

1 个答案:

答案 0 :(得分:0)

尝试在配置中添加以下内容:

    <host>
      <baseAddresses>
        <add baseAddress="http://service.website.com"/>
      </baseAddresses>
    </host>

将地址保留为wshttp