NET框架下注意.NET Remoting安全性

间隙填充
正睿科技  发布时间:2008-12-23 09:34:35  浏览数:1394
图 1 显示在 ASP.NET 中驻留远程对象时的基本 .NET Remoting 体系结构。如果主要关心安全性问题,那么建议使用 ASP.NET 主机和 HTTP通道进行通信,因为它允许远程对象利用 ASP.NET和 IIS 提供的基本安全服务。

  有关可能使用的主机和通道类型范围的详细信息以及比较信息,请参见本章后面的“选择一个主机进程” 。

  NET框架下注意.NETRemoting安全性

  图 1. .NET Remoting 体系结构

  客户端与进程内的代理对象进行通信。可以通过远程对象代理设置身份验证凭证(例如,用户名、密码和证书等等)。方法调用通过接收链进行传递(您可以实现自己的自定义接收来执行数据加密),并到达负责通过网络发送数据的传输接收。在服务器端,调用通过相同的管道进行传递,并向对象发出调用。

  注 本章中使用的术语“代理” 一词是指客户端进程内的代理对象,客户端通过该对象与远程对象进行通信。不要将它与术语“代理服务器”混淆。

  Remoting 接收

  当客户端在远程对象上进行方法调用时,.NET Remoting 使用传输通道接收、自定义通道接收和格式化程序通道接收。

  传输通道接收

  传输通道接收通过网络在客户端与服务器之间传递方法调用。.NET提供了 HttpChannel 和 TcpChannel 类,但是,可以对体系结构进行完全扩展,并且插入您自己的自定义实现方法。

  ◆ HttpChannel。在将远程对象驻留在 ASP.NET 中时,可以使用此通道。此通道使用 HTTP 协议在客户端和服务器之间发送消息。

  ◆ TcpChannel。在将远程对象驻留在 Microsoft? Windows? 操作系统服务或其他可执行文件中时,可以使用此通道。此通道使用 TCP 套接字在客户端和服务器之间发送消息。