2009-01-28 39 views
5

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

在,因为我觉得在这个阶段设置此功能,我使用的net.tcp没有任何安全的时刻是没有必要的,至少直到我们能更接近推出。

在WCF应用程序的开发,有没有在使用标准无安全绑定(在我的情况的net.tcp)任何伤害,那么一旦业务逻辑已经完成,实现了所有的安全需求?有什么事情我需要注意的是,在执行安全措施后可能无法正常工作?

回答

5

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

所以我的回答是肯定的,不是。是的,你需要从一开始就考虑它,但是不应该让你的组件满足你的安全需求。

这就是说,因为你知道你将要使用的net.tcp你应该知道,运输安全默认情况下,此绑定打开。

欲了解更多信息,请参阅Juval Lowy的精彩Programming WCF Services,第10章。Lowy在他的ServiceModelEx库(在本书中详细讨论)中提供了一个非常好的框架,您可以在创建组件后插入。即使它不完全符合您的要求,您也可以对其进行定制以满足您的需求。

3

安全性应该从头开始考虑,而不是在最后加上。

为您的安全性制定计划,并按照您的要求实施,而不是最后。

参考:微软.NET:用于设计应用程序的企业

http://www.amazon.com/Microsoft®-NET-架构 - 应用程序 - PRO-开发/ DP/073562609X

+0

感谢您的回复。如果你可以用一些很好的参考资料来更新你的答案。 – 2009-01-28 00:54:23

+0

会不会,我必须先回家。 – 2009-01-28 01:45:33

2

你有两种选择,从一开始就烘烤它,或者在最后拍打它。有了安全性,我会说它实际上并不适用于结冰,所以你必须把你的蛋糕弄得一团糟才能到达那里。

但是,我看到你的问题的方式是你已经知道你需要做些什么来解决安全问题,只是还没有决定做什么。在那种情况下,我会同意特里的观点,然后你应该设计一个抽象,让你插入最终的解决方案。

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