我现在正在构建一个 WCF SOAP 服务。当然,我需要对服务进行一些身份验证。
阅读这篇非常有用的博客文章说,使用内置身份验证点需要端点使用wsHttp
绑定。
如果我可以保证用户将通过基于 WCF 公开的元数据的客户端与服务进行通信(基本上,类似于用 C# 编写的带有 Web 服务引用的客户端),那将很好。但是,我不能保证这一点!
我仍然需要允许用户只使用原始(未加密的)XML 进行通信。
所以,问题:
- 绑定是否
wsHttp
仍允许原始 XML 输入? - 如果没有,我会更明智
- 实施两个单独的身份验证点?一个用于原始 XML 输入,一个用于加密输入 或者
- 允许来自
wsHttp
的输入依赖于将与原始 XML 输入共享的某些方法内验证?
- 允许用户在原始 XML 请求中传递他们的凭据是否明智?
编辑:听起来我在原始帖子中误解或误解了某些内容,所以在这里我将澄清我所说的“原始 XML”是什么意思。
我所说的原始 XML 是指 SOAP 数据包和随附的 HTTP 标头——我可能从soapUI 或 Fiddler 发送。据我了解,wsHttp
当从 WSDL 生成客户端时(例如,在 C# 中),绑定上的消息会被加密。
如果不是这种情况,那么当我通过客户端运行请求时,我将如何将相同类型的凭据附加到原始 XML(因为需要更好的术语)请求?它们是作为 HTTP 标头附加的吗?SOAP 信封中的 XML 元素?