BizTalk SSO 票证错误 "Validation of the ticket failed. The sender name must match that of the ticket issuer."

BizTalk SSO Ticket error "Validation of the ticket failed. The sender name must match that of the ticket issuer."

我有一个 BizTalk 仅消息传递交换,它在接收端的隔离主机中使用旧版 HTTP 适配器 运行,它使用 WCF-OracleDB 适配器直接路由到发送端口。发送端口配置为从 SSO 检索凭据。 HTTP 适配器配置为使用 SSO 并在隔离主机用户的上下文中颁发 SSO 票证。

当发送端口激活时,它将以下消息记录到事件日志并停止:

Validation of the ticket failed. The sender name must match that of the ticket issuer.
 Application Name: (affiliate application name)
 Ticket Issued By: (in-process account name)
 Sender Name: (isolated host account name)

根据我能找到的所有文档,联盟配置是正确的:

我找到了这个文档,它建议为了使用 SSO 票证,必须信任主机:https://msdn.microsoft.com/en-us/library/bb899011.aspx

我已经这样做了,没什么区别。

我还在 SSO 管理控制台中取消选中此联盟会员的 'validate tickets' 选项,这也没有任何区别。

我需要做什么才能完成这项工作?

问题是消息上标记的用户是接收端口的用户(隔离主机用户),但您在发送端口上签发 SSO 票证,然后发送票证给在进程主机用户中。

您需要做的是在Receive Location签发SSO Ticket,使Ticket与用户匹配。如果您的接收位置和发送端口都在同一台主机上,您可以在您的发送端口中发出 SSO 票证。

不,您不需要将您的主机标记为可信。如果您想将调用者的凭据从接收位置传递到发送端口(在这种情况下,您可以在接收位置 (if available) 中勾选它以向该端口发出 SSO,您只需要这样做端口中的用户)。