没有 SSL 的 WCF 身份验证
Posted
技术标签:
【中文标题】没有 SSL 的 WCF 身份验证【英文标题】:WCF Authentication WITHOUT SSL 【发布时间】:2010-09-28 11:01:06 【问题描述】:有没有办法在不实际设置 SSL 证书的情况下设置身份验证(也称为“基本身份验证”)?我也想在 REST 或常规 SOAP WCF 服务中执行此操作,最好是在 REST 中,但希望能够混合这些服务。换句话说,“我希望能够发送一个常规的旧用户名和密码,就像在基本身份验证中一样,但没有 SSL。”有没有办法做到这一点?
【问题讨论】:
【参考方案1】:使用 TransportCredentialOnly 安全模式。这篇文章解释了如何做到这一点:
http://developers.de/blogs/damir_dobric/archive/2006/07/31/890.aspx.
不要忘记您还必须在 IIS 中启用基本身份验证。
【讨论】:
我猜这只能在 WCF4 中实现,而不是 WCF3-3.5? 我将它与 WCF3.5 一起使用。不过,如果我没记错的话,还是靠运气让它工作起来的。 关于 TransportCredentialOnly 的说明:TransportCredentialOnly 安全模式选项传递用户凭据而不加密或签署消息。请谨慎使用此模式,因为它不会保护正在传输的凭据,并且必须通过其他方式保护它们,例如 Internet 协议安全 (IPSec)。 [来自msdn.microsoft.com/en-us/library/ff648505.aspx] @erikkallen 我已经遵循了这一点并在 IIS express 中启用了基本身份验证,但我仍然收到SOAP header is missing
异常。请问有什么想法吗?
这和WCF4中的None安全模式一样吗?以上是关于没有 SSL 的 WCF 身份验证的主要内容,如果未能解决你的问题,请参考以下文章
WCF 客户端证书身份验证,服务“SslRequireCert”的 SSL 设置与 IIS“Ssl,SslNegotiateCert”的设置不匹配