gpt4 book ai didi

WCF:由于身份验证失败,无法满足安全 token 的请求

转载 作者:行者123 更新时间:2023-12-03 01:28:54 25 4
gpt4 key购买 nike

我编写了一个非常简单的 WCF 服务来发送和接收消息。我已经通过 VS 2008 默认 Web 服务器主机测试了该应用程序,一切正常。但是当我将 WCF 服务部署到另一台计算机的 IIS 时,我收到以下错误:

“由于身份验证失败,无法满足安全 token 的请求。”

如何设置身份验证类型以使用配置文件中的自定义用户名和密码?如果不可能,请告诉我如何设置其 Windows 凭据,因为我使用的两台计算机不共享相同的用户。

最佳答案

您需要关闭绑定(bind)的安全性。否则,我相信默认情况下,wsHttpBinding 将尝试协商安全上下文 token (SCT)。

因此,修改端点定义以指向绑定(bind)配置部分。这是一个例子:

<endpoint address="" 
binding="wsHttpBinding"
contract="HelloWorldService.IService1"
bindingConfiguration="TheBindingConfig">

然后在 <services> 之后添加类似以下绑定(bind)配置的内容web.config 的 <system.serviceModel> 部分部分。

<bindings>
<wsHttpBinding>
<binding name="TheBindingConfig">
<security mode="None" />
</binding>
</wsHttpBinding>
</bindings>

将安全性设置为“无”是关键。

希望这有帮助!

<小时/>

上面的内容对我有帮助 - 但不是立即显而易见的是如何添加到服务端(一旦你完成了需要什么,就很清楚,但直到你这样做了) 。其原因并不完全明显,因为默认情况下没有绑定(bind)部分,而客户端中可能有一个。

因此,要非常清楚 - 在服务端添加绑定(bind)部分(如上所述),然后向适当的端点添加 bindingConfiguration="TheBindingConfig"属性。一旦你做过一次就很明显了......

关于WCF:由于身份验证失败,无法满足安全 token 的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/394829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com