WCF net.tcp绑定,消息格式和安全问题

Rem*_*tec 4 authentication wcf binding authorization net.tcp

抱歉愚蠢的问题,但有一些关于WCF的事情我无法理解.对于下面的一些建议会很高兴....

  • 在一个非常基本的层面上,WCF使用二进制(Net.Tcp),HTTP或MSMQ在线路上传输我的消息是正确的吗?

  • 但是,在所有情况下,无论数据是如何传输的,消息本身都是以SOAP格式传输的,并带有标题和正文?所以它是一种以HTTP/S或二进制格式传输的XML消息.

  • Net.Tcp是我的客户端服务器应用程序的不错选择 - 它类似于信使应用程序,因为客户端都是防火墙另一端的远程用户到我的服务器.我正在阅读的大多数内容都告诉我们使用WS*和HTTP.

  • Net.Tcp是否按标准保护并且没有证书? - 也就是说 - 人们无法通过电线收听并解码往返的数据.

  • 是否可以使用net.tcp发送用户名和密码,而无需安装证书?

  • 如果是这样,我认为我可以将其连接到我的会员提供商,并验证对我的服务合同实施的每个方法的访问权限.

  • 我假设使用用户名和密码安全性,使用用户名和密码初始化代理,并且每个请求都会发送此信息.

  • 然后将为每个方法调用调用我的成员资格提供程序,并执行它为获取该方法的授权所需的任何操作.

很抱歉转移问题但很高兴知道我是否正确思考WCF的工作方式.

谢谢.

sip*_*wiz 16

在一个非常基本的层面上,WCF使用二进制(Net.Tcp),HTTP或MSMQ在线路上传输我的消息是正确的吗?

您将传输层与序列化机制混淆.WCF传输选项包括TCP,命名管道,HTTP和MSMQ.WCF序列化选项是二进制,Text(包括SOAP,POX和JSON)和MTOM.

但是,在所有情况下,无论数据是如何传输的,消息本身都是以SOAP格式传输的,并带有标题和正文?所以它是一种以HTTP/S或二进制格式传输的XML消息.

不会.WCF使用Message类作为通信的原子单元.它在结构上类似于SOAP,但它不是像SOAP那样的序列化格式.

Net.Tcp是我的客户端服务器应用程序的不错选择 - 它类似于信使应用程序,因为客户端都是防火墙另一端的远程用户到我的服务器.我正在阅读的大多数内容都告诉我们使用WS*和HTTP.

听起来像TCP不是一个好选择.除非您能够在端口80或443上运行服务器,否则防火墙可能会使TCP变得困难.根据我自己的个人经验,我还建议不要在Internet部署中使用带有TCP绑定的WCF.当TCP连接丢失时,WCF会让你跳过很多圈来捕获并重新建立它.HTTP绑定更容易管理.

Net.Tcp是否按标准保护并且没有证书? - 也就是说 - 人们无法通过电线收听并解码往返的数据.

NetTCP绑定默认情况下,用TLS保护.

是否可以使用net.tcp发送用户名和密码,而无需安装证书?

您可以使用预安装的证书对TCP绑定进行身份验证.您还可以在Message标头中添加用户名和密码,但这是另一回事.

如果是这样,我认为我可以将其连接到我的会员提供商,并验证对我的服务合同实施的每个方法的访问权限.

您可以使用OperationContext提取Message标头,并提取您喜欢的任何信息,并将其与身份验证提供程序一起使用.

我假设使用用户名和密码安全性,使用用户名和密码初始化代理,并且每个请求都会发送此信息.

然后将为每个方法调用调用我的成员资格提供程序,并执行它为获取该方法的授权所需的任何操作.

听起来你想看看如何:使用ASP.NET成员资格提供程序.