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

2024-04-21

很抱歉问了一些愚蠢的问题,但有些事情我无法理解。对于以下问题的一些建议将不胜感激......

  • 在非常基础的层面上,WCF 使用二进制 (Net.Tcp)、HTTP 或 MSMQ 在线传输消息是否正确?

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

  • Net.Tcp 对于我的客户端服务器应用程序来说是一个不错的选择吗?它与消息应用程序类似,因为客户端都是位于我的服务器防火墙另一侧的远程用户。我读到的大多数内容都告诉我们要使用 WS* 和 HTTP。

  • Net.Tcp 是否受标准保护且无需证书? - 也就是说 - 人们无法在线收听并解码传入和传出的数据。

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

  • 如果是这样,我想我可以将其连接到我的会员提供商,并验证对我的服务合同实现中每个方法的访问。

  • 我假设在用户名和密码安全的情况下,代理会使用用户名和密码进行初始化,并且此信息会随每个请求一起发送。

  • 然后,我的成员资格提供程序将针对每个方法调用而被调用,并执行所需的任何操作来获得该方法的授权。

很抱歉问了这么多问题,但很高兴知道我是否以正确的方式思考 WCF 的工作原理。

Thanks.


在非常基础的层面上,WCF 使用二进制 (Net.Tcp)、HTTP 或 MSMQ 在线传输消息是否正确?

您将传输层与序列化机制混淆了。WCF 传输 http://msdn.microsoft.com/en-us/library/ms733769.aspx选项包括 TCP、命名管道、HTTP 和 MSMQ。WCF序列化 http://msdn.microsoft.com/en-us/library/aa751889.aspx选项包括二进制、文本(包括 SOAP、POX 和 JSON)和 MTOM。

然而,在所有情况下,无论数据如何传输,消息本身都是带有标头和正文的 SOAP 格式吗?因此它是一种以 HTTP/S 或二进制格式传输的 XML 消息。

不。WCF 使用Message http://msdn.microsoft.com/en-us/library/ms734675.aspx类作为通信的原子单元。它在结构上类似于 SOAP,但它不是像 SOAP 那样的序列化格式。

Net.Tcp 对于我的客户端服务器应用程序来说是一个不错的选择吗?它与消息应用程序类似,因为客户端都是位于我的服务器防火墙另一侧的远程用户。我读到的大多数内容都告诉我们要使用 WS* 和 HTTP。

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

Net.Tcp 是否受标准保护且无需证书? - 也就是说 - 人们无法在线收听并解码传入和传出的数据。

The 默认情况下,NetTCP 绑定通过 TLS 进行保护 http://msdn.microsoft.com/en-us/library/ms731172.aspx.

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

您可以使用预安装的证书通过 TCP 绑定进行身份验证。您还可以将用户名和密码添加到消息标题中,但这是另一回事。

如果是这样,我想我可以将其连接到我的会员提供商,并验证对我的服务合同实现中每个方法的访问。

您可以使用以下命令提取消息标头操作上下文 http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontext.aspx并提取您喜欢的任何信息并将其与您的身份验证提供商一起使用。

我假设在用户名和密码安全的情况下,代理会使用用户名和密码进行初始化,并且此信息会随每个请求一起发送。

and

然后,我的成员资格提供程序将针对每个方法调用而被调用,并执行所需的任何操作来获得该方法的授权。

听起来你想看看如何:使用 ASP.NET 成员资格提供程序 http://msdn.microsoft.com/en-us/library/ms731049.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WCF net.tcp 绑定、消息格式和安全问题 的相关文章

  • Nest.js Google Login(passport.js) 与 SPA 前端(React)

    在我的全栈项目 Nest js React 中 我使用护照谷歌实现了谷歌登录 如下所示 import Controller Get Req UseGuards from nestjs common import AppService fro
  • 如何使用 Laravel 5 检查用户是否已确认

    我正在尝试开箱即用地使用 Laravel 身份验证 身份验证不是问题 但我想检查用户是否已确认他的电子邮件地址 我如何让拥有Laravel检查表值是否confirmed值为 1 在 config auth php 我已经设置 driver
  • 保护登录和评论表单免受 CSRF 攻击

    我读过很多关于CSRF保护的文章 这个不错 http seclab stanford edu websec csrf csrf pdf 以及关于SO的各种问题 但它们似乎都没有足够的信息来回答我的问题 我正在开发自己的 CMS 我想保护我的
  • System.Net.WebException:请求已中止:请求已取消

    我有一个 WCF 服务 在负载条件下一直给我这个错误 并且我似乎无法重新创建该错误 我们已经尝试寻找解决方法大约一周了 但没有这样的运气 我看到的错误有两个部分 System ServiceModel CommunicationExcept
  • WCF 服务基地址 Http 和 netTcp

    我的 WCF 服务配置文件中定义了两个基址
  • 我可以使用 DataContract 序列化程序序列化 Dictionary 吗?

    我计划构建一个 WCF 服务 返回序列化为 JSON 的通用字典对象 不幸的是 序列化失败 因为对象可能总是不同的 KnownTypes 没有帮助 因为属性类型是 Dictionary 而且我不能说 KnownType 因为类可能总是不同
  • 从字符串“”到类型“布尔”的转换无效

    我在 ASP NET 登录表单的标题中收到错误消息 有谁知道我该如何解决它 非常感谢帮助 Protected Sub Button1 Click ByVal sender As Object ByVal e As EventArgs Han
  • 表达式树序列化器

    我想在客户端使用 Linq 表达式 序列化它们并在服务器端执行它们 为此我想使用 http expresstree codeplex com http expressiontree codeplex com 但我想针对自己的 WCF 调用执
  • 在 PHP MySQL 中使用 jQuery AJAX 提交表单而无需重新加载

    我有一个基本的注册 登录页面 它使用 php 将数据提交到 SQL 数据库 但是 我希望页面在 jQuery AJAX 的帮助下不要在提交时重定向 无论成功与否 这是我目前所拥有的 但不起作用 它不显示任何错误消息 HTML 注册 html
  • 针对 Laravel 后端的 Angular Auth

    我正在使用 Laravel 创建一个应用程序 并构建一个小型内部 API 来连接到 Angular 前端 我的身份验证工作正常 但想确保这是一种可接受的用户登录方式 并确保一切都是安全的 会话控制器 public function inde
  • ASP.NET MVC - 角色提供程序的替代方案?

    我试图避免使用角色提供程序和成员资格提供程序 因为在我看来它太笨拙了 因此我试图制作自己的 版本 它不那么笨拙并且更易于管理 灵活 现在我的问题是 除了角色提供者之外 还有其他不错的选择吗 我知道我可以自定义角色提供者 会员提供者等 通过更
  • 如何解决“HTTP 错误 404.3 - 未找到”错误?

    简单的问题 我启动 VS2008 并创建一个新的 WCF 服务应用程序 这将创建一个默认应用程序 并使用一些测试方法来显示它的工作原理 我按 CTRL F5 确实有效 伟大的 但是 它使用 Visual Studio 开发服务器 我不想支持
  • 社交登录重复帐户冲突

    我正在制作一个新应用程序 除了常规电子邮件 密码注册之外 还需要多个社交注册 但是有一种特殊情况可能会导致数据完整性问题 例子 用户在 Facebook 上注册 但没有收到任何电子邮件回复 我在数据库中创建一个用户 将电子邮件和密码设置为
  • 在 WCF 服务上的 AJAX 发出 REST 请求期间启用 CORS 中的 OPTIONS 方法

    我花了7个小时绞尽脑汁想弄清楚这个问题 我在整个网络上进行了搜索 但没有运气 我有一个 Angular 应用程序正在向 WCF 命令行托管服务应用程序发出请求 我设法通过使用这两个类来实现 CORS public class CustomH
  • 使用基类活动将多个活动(选项卡)绑定到服务

    发帖后发现这些 http code google com p android issues detail id 2665 http code google com p android issues detail id 2665http co
  • 如何在C#中获取登录SID

    如何在 C net 中检索 Windows 登录 SID 不是用户 SID 而是每个会话的唯一新 SID 恐怕您必须求助于使用 P Invoke 有一个如何做到这一点的示例pinvoke net http www pinvoke net d
  • 数据库连接模拟失败

    我有一个 SL4 应用程序 它使用 WCF 与后端 SQL Server 2008 数据库进行通信 由于调用的存储过程需要数据库权限 其中一项 WCF 服务需要使用专用系统帐户连接到数据库 我尝试在服务代码中使用模拟来实现解决方案 例如 i
  • Pyramid 中基于动态用户的授权

    我正在跟进Pyramid 文档中的安全指南 http docs pylonsproject org projects pyramid 1 1 narr security html以及 wiki 教程添加授权 http docs pylons
  • 是否可以将 WPF Combobox.SelectedValue 绑定到多个 ObjectDataProvider?

    尝试确定是否可以使用 XAMAL 绑定将 ComboBox 的 SelectedValue 绑定到多个 ObjectDataProvider 的输入 我查看了 MultiBinding 但这似乎将多个控件组合在一起 这并不完全是我今天想要的
  • WCF 模拟和 SQL 可信连接?

    我们有一个托管在 IIS7 下的服务 SQL 服务器的连接字符串设置为 受信任 为了进行身份验证 我需要在服务上设置模拟并让客户端启动模拟连接 有没有办法不设置模拟并仍然允许服务通过可信连接登录到 SQL Server 我们希望避免让客户端

随机推荐