WCF 适配器的单一登录支持

可以使用 BizTalk Server 管理控制台来配置企业单一登录 (SSO),以便与 WCF 接收位置或发送端口结合使用。 本主题介绍 SSO 与 WCF 适配器的协同工作机制。

在企业环境中,用户需要与各种各样的系统和应用程序进行交互,可能会出现环境无法在多个进程、产品和计算机间维护用户上下文的情况。 此用户上下文对于提供单一登录功能至关重要,因为需要验证发起原始请求的人员。 为了克服此问题,企业单一登录 (SSO) 提供了 SSO 票证(不是 Kerberos 票证),应用程序可以使用该票证获取与发出原始请求的用户相对应的凭据。

当接收适配器获得消息后,适配器可以从 SSO 服务器请求一个 SSO 票证。 此加密票证包含发出请求的用户的 Windows 标识和超时期限。 在获取该票证后,会将其作为属性添加到传入消息中。 当发送适配器传送消息时,适配器使用发放的 SSO 票证和关联应用程序名称(该适配器将试图检索该关联应用程序的凭据)联系 SSO 服务器。 SSO 服务器查找目标关联应用程序的用户凭据,然后将凭据返回给发送适配器,发送适配器使用该凭据将正确验证的消息发送给关联应用程序。

WCF 接收位置的单一登录支持

所应用的安全设置与用于接收位置的 WCF 适配器的类型共同决定了 WCF 接收适配器是否能够发放 SSO 票证。 若要 WCF 接收适配器发放 SSO 令牌,WCF 客户端必须发送一个适配器可以模拟的凭据。 模拟是服务器应用程序承担客户端的身份的能力。 凭据必须映射到有效的 Windows 用户帐户才能正确模拟。

注意

对于不要求客户端发送凭据进行模拟的安全设置和 WCF 适配器,可以使用客户端在自定义接收管道组件中发送的任何类型的凭据发放 SSO 票证。 有关如何处理接收管道组件中的 SSO 票证的详细信息,请参阅 面向服务的解决方案的文件清单中包含的示例管道组件 InPipelineComp。

WCF-BasicHttp 接收位置的单一登录支持

WCF-BasicHttp 接收适配器仅在下表所示的安全配置下,才可从 SSO 服务器发放 SSO 票证。

注意

有关将证书映射到 Windows 用户帐户的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=87478“将证书映射到用户帐户”。

安全模式 传输客户端凭据类型 消息客户端凭据类型
传输 基本 N/A
传输 摘要 N/A
传输 Ntlm 不可用
传输 Windows 不可用
传输 证书 不可用
Message 不可用 UserName
Message 不可用 证书
TransportWithMessageCredential N/A 证书
TransportWithMessageCredential 不可用 UserName
TransportCredentialOnly 基本 不可用
TransportCredentialOnly 摘要 不可用
TransportCredentialOnly Ntlm 不可用
TransportCredentialOnly Windows 不可用
TransportCredentialOnly 证书 N/A

WCF-WSHttp 接收位置的单一登录支持

WCF-WSHttp 接收适配器仅在下表所示的安全配置下,才可从 SSO 服务器发放 SSO 票证。

安全模式 传输客户端凭据类型 消息客户端凭据类型
传输 基本 N/A
传输 摘要 N/A
传输 Ntlm N/A
传输 Windows 不可用
传输 证书 不可用
Message N/A UserName
Message N/A Windows
消息 N/A 证书
TransportWithMessageCredential N/A Windows
TransportWithMessageCredential N/A 证书
TransportWithMessageCredential 不可用 UserName

WCF-NetTcp 接收位置的单一登录支持

WCF-NetTcp 接收适配器仅在下表所示的安全配置下,才可从 SSO 服务器发放 SSO 票证。

安全模式 传输客户端凭据类型 消息客户端凭据类型
传输 Windows 不可用
传输 证书 不可用
Message N/A 证书
Message N/A Windows
消息 N/A UserName
TransportWithMessageCredential 不可用 证书
TransportWithMessageCredential N/A Windows
TransportWithMessageCredential N/A UserName

Single Sign-On 对 WCF-NetNamedPipe 接收位置的支持

WCF-NetNamedPipe 接收适配器仅在下表所示的安全配置下,才可从 SSO 服务器发放 SSO 票证。

安全模式 传输客户端凭据类型 消息客户端凭据类型
传输 N/A 不可用

WCF-Custom 和 WCF-CustomIsolated 接收位置的单一登录支持

若要 WCF-Custom 和 WCF-CustomIsolated 接收位置发放 SSO 票证,接收位置中使用的安全设置需要 WCF 客户端发送可以被 Windows Communication Foundation 模拟的凭据。 WCF 支持模拟各种类型的客户端凭据。 有关 WCF 支持模拟的凭据类型的详细信息,请参阅 上的 https://go.microsoft.com/fwlink/?LinkId=87476“使用 WCF 进行委派和模拟”。

WCF 发送端口的单一登录支持

对于 WCF 发送端口,只有在下表所示的安全配置下,才能指定一个用于 SSO 的关联应用程序名称。

安全模式 传输客户端凭据类型 消息客户端凭据类型
传输 摘要 不可用
传输 基本 不可用
Message 不可用 UserName

注意

若要使 WCF 发送端口正确验证和兑换 SSO 票证, SSOTicketOriginatorSID 上下文属性必须在要发送的消息中可用。 已启用单一登录的接收位置可以从发件人的 Windows 帐户升级这些属性。

另请参阅

企业单一登录