【问题标题】:Cross Domain access of self hosted WCF services?自托管 WCF 服务的跨域访问?
【发布时间】:2012-12-08 08:52:32
【问题描述】:

我开发了一个 WPF 应用程序,它与一组位于同一域下的自托管 WCF 服务进行通信,我在配置文件中使用以下设置。

<security mode="Transport">
        <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
        <message clientCredentialType="Windows" />
      </security>

我将服务托管在不同域的服务器上。我可以通过将安全模式设置为“无”来实现通信,这并不理想。

我是否可以使用任何其他设置进行跨域通信,或者我必须使用一些受信任的证书?如果有人可以指导我,我会很高兴,因为谷歌上的所有搜索都将我定向到 Silverlight 应用程序 +Crossdomain.xml+WCF,但我没有看到跨域环境中的 WPF 的任何组合。

【问题讨论】:

  • 考虑在 ServerFault 上也问同样的问题,因为您希望服务器对外国域中的用户进行身份验证,这并不是一个真正的编程问题。
  • @Christoffer 谢谢你,会这样做的。
  • 有问题的域是同一个顶级域的所有子域吗? one.example.com 和 two.example.com?
  • @dthorpe 它们是完全不同的域。
  • 这篇文章有帮助吗? stackoverflow.com/questions/6896471/…

标签: c# wpf wcf-security


【解决方案1】:

当两台计算机不属于同一域时,无法在 WPF 客户端和 WCF 服务器之间共享 Windows 凭据。对于传输级别和消息级别的安全性,您可以使用证书来建立跨域信任,但是是的,这需要签署这些证书并让签署机构在客户端上受信任。

当您控制 WPF 客户端计算机并可以在客户端的受信任的根证书颁发机构中安装您的 CA 证书时,您可以使用自签名证书完成此操作。如果您不能让所有 WPF 客户端都安装您的 CA 证书,则您必须获得商业签名的证书。

【讨论】:

    猜你喜欢
    • 2012-09-05
    • 2012-08-24
    • 1970-01-01
    • 2011-06-30
    • 2012-06-16
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多