hun*_*a27 5 c# wcf ws-security wshttpbinding
我正在尝试设置将使用WSHttpBinding进行通信的客户端(Web应用程序)和服务(WCF服务).看来为了使用这种绑定,客户端发送初步消息来设置频道.
在客户端和服务之间存在一个服务总线,它在自定义头上进行路由.使用BasicHttpBinding安全性时,该消息没有问题.
我的问题是:有没有办法在初步的RequestSecurityToken消息中添加相同的自定义标头?
先感谢您.
这个问题已经解决了。
不幸的是,根据 MSDN 文档,使用 WCF 传输安全的服务无法通过路由器,服务和客户端也不应该位于 Internet 上 ( https://msdn.microsoft.com/en-us/library/ ff648863.aspx#TransportSecurity)。
我们想违反这两条“原则”。
因此,为了减少消息数量,从 5 次调用和响应减少到 1 次,我们切换到 Message Security 并关闭了 EstostSecurityContext 和 NegotiateServiceCredential。- 这必须在服务和客户端配置设置上完成。
除此之外,一个值得注意的提示可能是,为了将服务指向我们的服务总线,我们改变了服务在客户端的ClientVia行为。
关闭EstablishContext和NegotiateServiceCredential:
WSHttpBinding binding = new WSHttpBinding();
binding.Security.Mode = SecurityMode.Message;
binding.Security.Message.EstablishSecurityContext = false;
binding.Security.Message.NegotiateServiceCredential = false;
Run Code Online (Sandbox Code Playgroud)
将客户端指向服务总线:
serviceClient.Endpoint.EndpointBehaviors.Add(new ClientViaBehavior(new Uri("http://url/WCFService/ServiceName.svc")));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |