【问题标题】:Logic first, WCF security later?首先是逻辑,然后是 WCF 安全性?
【发布时间】:2009-01-28 00:40:54
【问题描述】:

我正在开发一个 WCF 服务,该服务将通过 net.tcp 与客户端应用程序的 n 个实例进行通信(由我办公室的另一位程序员开发)。

目前我使用 net.tcp 没有任何安全性,因为我觉得在这个阶段没有必要设置它,至少在我们接近推出之前不需要。

在开发 WCF 应用程序的过程中,使用没有安全性的标准绑定(在我的例子中是 net.tcp)有什么危害,那么一旦业务逻辑完成,实现所有的安全性要求?我需要注意哪些在实施安全性后可能无法正常工作的事情?

【问题讨论】:

    标签: c# xml wcf security wcf-binding


    【解决方案1】:

    虽然您的整体设计应该从一开始就考虑安全性,但我认为将您的组件与任何特定的安全策略结合起来并不是一个好主意。您可能非常希望以非安全方式或跨提供不同安全选项的不同协议使用某些组件。

    所以我的答案是肯定的和否定的。是的,您需要从一开始就考虑它,但不,您不应该将组件与您的安全需求结合起来。

    也就是说,既然您知道您将使用 net.tcp,您应该知道默认情况下此绑定的传输安全性已打开。

    有关更多信息,请参阅 Juval Lowy 的精彩 Programming WCF Services,第 10 章。Lowy 在他的 ServiceModelEx 库中(在书中详细讨论)提供了一个非常好的框架,您可以在创建组件后插入该框架.即使它不是您正在寻找的内容,您也可以对其进行自定义以满足您的需求。

    【讨论】:

    • 我实际上一直在阅读 Programming WCF Services,但还没有达到那么远。我一定会读一读那一章:)
    • 是的 - 不要害怕直接进入第 10 章。我跳过了第 7、8 和 9 章,进入了安全部分。写的很好。
    【解决方案2】:

    应该从一开始就考虑安全性,而不是最后添加。

    为您的安全制定计划,并在执行过程中实施,而不是在最后实施。

    参考:Microsoft .NET:为企业构建应用程序

    http://www.amazon.com/Microsoft®-NET-Architecting-Applications-PRO-Developer/dp/073562609X

    【讨论】:

    • 感谢您的回复。如果您可以用一些参考资料更新您的答案,那就太好了。
    • 行,我得先回家了。
    【解决方案3】:

    你有两个选择,从头开始烤,或者在最后打上它。一般来说,我会说它在结冰时确实不起作用,所以你必须把你的蛋糕弄得一团糟才能把它放进去。

    但是,我看到您的问题的方式是您已经知道您需要做一些事情来解决安全问题,您只是还没有决定要做什么。在这种情况下,我同意 Terry 的观点,即您应该围绕允许您插入最终解决方案的抽象进行设计。

    如果我是你,我可能会做一个威胁模型,并用它来考虑你的服务带来的输入和风险。这将帮助您决定最终应该做什么以及您的抽象是否涵盖所有基础。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-11
      • 2013-02-14
      • 1970-01-01
      • 2023-04-05
      • 2021-09-11
      • 1970-01-01
      • 2013-09-28
      相关资源
      最近更新 更多