BizTalk 未向 ASP.Net 核心 Web.API 服务提交所需的凭据

BizTalk is not submitting required credentials to ASP.Net Core Web.API service

我们正在尝试将 Biztalk 用作 Web.API 服务的客户端,该服务是使用 ASP.net Core w/ .Net Framework 4.6.2 编写的。该服务使用 Windows 身份验证并且不允许匿名访问。此时我们无法通过 Biztalk 的请求发送 Windows 凭据。 在解决另一个没有使用 .Net Core 编写的测试服务时,我们能够获得 Windows 凭据。它使用.Net Framework 4.5.2。 我们认为我们可以编写一种适配器服务,它可以代表 Biztalk 服务器转发所需的凭据,但这看起来很笨拙。 Biztalk 开发人员告诉我他正在使用 WCF-WebHttp 适配器。

WCF-WebHttp 传输属性:

HTTP Method and URL Mapping
    <BtsHttpUrlMapping>
    <Operation   Method="POST" Url=""  />
    EndPoint Identity (Default settings)
    Binding Tab settings (Default settings )
    Security Mode:  TransportCredentialOnly
    Transport client credential type: Windows
    Behavior Tab (Default Settings)
    Proxy:  Use Send handler proxy settings
    Outbound HTTP Headers:  Content-Type: application/json
    Outbound Message: GET

Send Pipeline: XmlToJSONSendPipeline
    RemoveOuterEnvelope: True
Receive Pipeline: JSONToXmlReceivePipeline
    RootNode: Response
    Allow UnrecognizedMessage: False
    REcoveraleInterchangeProcessing: False
    ValidateDocument: False

在 WCF-WebHttp Behavior->EndpointBehavior 中添加 clientCredentials->Windows->allowedImpersonationLevel 将 Identity 更改为 Impersonation

这里有一个参考 link: Using IIS Authentication with ASP.NET Impersonation