【发布时间】:2013-08-27 14:52:14
【问题描述】:
如果我们谈论安全配置,rpc 框架(如 thrift 或 gSoap)与内置 MS RPC 之间有什么区别。 MSDN 在http://msdn.microsoft.com/en-us/library/windows/desktop/aa379441(v=vs.85).aspx 上描述了一些方面,所以我可以推测微软对rpc 的支持。这是否意味着如果我想使用与 MS 不同的框架,我需要自己处理安全性?
【问题讨论】:
如果我们谈论安全配置,rpc 框架(如 thrift 或 gSoap)与内置 MS RPC 之间有什么区别。 MSDN 在http://msdn.microsoft.com/en-us/library/windows/desktop/aa379441(v=vs.85).aspx 上描述了一些方面,所以我可以推测微软对rpc 的支持。这是否意味着如果我想使用与 MS 不同的框架,我需要自己处理安全性?
【问题讨论】:
这是一个非常广泛的问题。我不太确定您的真正期望,但我会尽力回答您的问题。
首先,您当然必须注意所编写的任何内容的安全性,无论是服务器代码还是客户端代码。 RPC 服务的安全性是一个广泛的领域,框架提供给您的任何复杂的安全功能仍然只是一种工具,仍然只是您的服务的整体安全概念的一部分。换句话说:使用 SSL 不会保护您的服务器免受 SQL 注入。
接下来,Thift、SOAP 和 MS-RPC 各有不同的设计目标。 Thrift 在设计时考虑了性能和便携性。 Thrift 更专注于基本的 RPC,以最简单的工作方式为任何应用程序提供效率和可移植性,用于任何目的。当然,这种方法意味着没有太多更高级别的功能,因为这被认为超出了 Thrift 的范围并留给用户。但是,对于某些语言,TLS (SSL) 传输是可用的。
相比之下,SOAP 是一个更丰富的协议,它基于 XML 作为机器可读、标准化和可扩展格式,可以扩展以支持更高级别的功能,如 WS-Security、WS-ReliableMessaging等等。缺点是,我见过许多框架和开发工具——尽管 SOAP 多年前已经标准化——仍然不能以最简单的方式正确处理 SOAP,更不用说支持 WS-Security。然而,尽管如此,尽管 SOAP 消息往往会产生大量流量并导致性能不佳,但 SOAP 仍然在业界广泛使用。
MS-RPC 作为 DCOM 的基础之一,与 Windows 环境和 Windows 开发工具密切相关。如果您可以忍受这种限制并希望使用 DCOM,那么 DCOM 提供了一种非常高级的抽象,并在当今的 IDE 中提供了良好且经过验证的支持。
【讨论】: