gpt4 book ai didi

c# - 向 WCF RequestSecurityToken 消息添加 header

转载 作者:太空狗 更新时间:2023-10-29 23:44:51 26 4
gpt4 key购买 nike

我正在尝试设置将使用 WSHttpBinding 进行通信的客户端(Web 应用程序)和服务(WCF 服务)。看来,为了使用此绑定(bind),客户端会发送初步消息来设置 channel 。

在客户端和服务之间存在一个服务总线,它在自定义 header 上进行路由。该消息在使用 BasicHttpBinding 安全性时,路由没有问题。

我的问题是:有什么方法可以将相同的自定义 header 添加到初步 RequestSecurityToken 消息中吗?

提前谢谢你。

最佳答案

这已经解决了。

不幸的是,根据 MSDN 文档,使用 WCF 传输安全性的服务不能通过路由器,服务或客户端也不应位于 Internet 上 (https://msdn.microsoft.com/en-us/library/ff648863.aspx#TransportSecurity)。

我们想违反这两个“原则”。

因此,为了减少消息,从五个调用和响应减少到一个,我们切换到 Message Security 并关闭 EstablishSecurityContext 和 NegotiateServiceCredential。 - 这必须在服务和客户端配置设置上完成。

除此之外,一个值得注意的提示可能是,为了将服务指向我们的服务总线,我们更改了客户端服务的 ClientViaBehavior。

关闭 EstablishContext 和 NegotiateServiceCredential:

WSHttpBinding binding = new WSHttpBinding();

binding.Security.Mode = SecurityMode.Message;
binding.Security.Message.EstablishSecurityContext = false;
binding.Security.Message.NegotiateServiceCredential = false;

将客户端指向服务总线:

serviceClient.Endpoint.EndpointBehaviors.Add(new ClientViaBehavior(new Uri("http://url/WCFService/ServiceName.svc")));

关于c# - 向 WCF RequestSecurityToken 消息添加 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30743508/

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