BizTalk SSO票证错误"票证验证失败。发件人姓名必须与发票人的名称相匹配。"

时间:2017-02-22 09:31:25

标签: biztalk

我有一个BizTalk仅消息传递交换,它使用在接收端的隔离主机上运行的旧H​​TTP适配器,它使用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

我做到了这一点,没有区别。

我还取消选中了“验证门票”#39;这个联盟会员的SSO管理控制台中的选项也没有区别。

我需要做些什么来完成这项工作?

1 个答案:

答案 0 :(得分:0)

问题是邮件上标记的用户是接收端口(隔离主机用户)的用户,但是您在发送端口上发出SSO票证,然后将票证发送到进程中主机用户。

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

不,您不需要将主机标记为受信任。如果要将呼叫者的凭据从接收位置传递到发送端口(在这种情况下,您可以在接收位置(if available)勾选它以向其发出SSO,则只需执行此操作)用户在港口。)