basichhtpbinding 的哪种身份验证模式可用于保护使用流的 WCF 服务?

2024-06-22

有关我的服务的详细信息:

  1. 文件上传服务
  2. 传输模式设置为流
  3. 服务托管在 IIS 7 中。

我需要为我的服务提供安全保障。我尝试过 ntlm 和 Windows 安全性。当我尝试保护我的服务时,出现以下错误

“HTTP 请求流不能与 HTTP 身份验证结合使用。禁用请求流或指定匿名 HTTP 身份验证。”

我找到了这样的描述: 描述:

您无法进行传输身份验证。与流媒体。如果必须使用 HTTP 请求流,则必须在没有安全性的情况下运行。

所以我想知道如何确保我的服务?我可以在 basichttpbinding 中使用哪种安全模式?有人可以帮助我吗?


您可以尝试使用TransportWithMessageCredential:

<bindings>
  <basicHttpBinding>
    <binding name="securedStream" transferMode="streamed">
      <security mode="TransportWithMessageCredential">
        <message clientCredentialType="UserName" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

这将在 SOAP 标头中传递凭据。现在,您必须传递用户名和密码 - 默认验证针对 Windows 帐户,但您也可以使用成员资格提供程序或自定义密码验证器。

如果您确实想要 NTLM 或 Windows,那么这意味着您在同一网络/域中运行客户端和服务器。在这种情况下,请改用 Net.tcp。

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

basichhtpbinding 的哪种身份验证模式可用于保护使用流的 WCF 服务? 的相关文章

随机推荐