发送适配器的 SSO 支持

使用企业单一登录 (SSO) 提供的服务,可以跨本地、网络和域边界来存储和传输加密的用户凭据。 在您创建某一传输适配器时,可以充分利用 SSO API 来处理该传输适配器用于访问后端应用程序的用户凭据。

通常需要不支持 SSO 的传输适配器来配置用于单组凭据,这些凭据用于访问后端应用程序。 对于许多后端系统而言,单个帐户身份验证可能无法满足所有的安全强制要求。 许多应用程序都根据正访问它们的用户提供不同的访问权限。 SSO 允许适配器基于正尝试访问它的用户动态选择用于终结点的凭据。

发送适配器如何与 SSO 一起工作

发送支持 SSO 的适配器验证和兑换票证,并使用 ISSOTicket.ValidateAndRedeemTicket API 从 SSO 系统获取用户凭据。 该适配器使用获取的凭据对目标终结点进行身份验证。

下面的代码段演示了发送适配器如何从 SSO 系统获取用户凭据:

public class MyAdapter : IBTTransport,   
                         IBTTransportConfig,   
                         IBTTransportControl,  
                        IPersistPropertyBag,   
                         IBaseComponent  
{  
...  
     private string m_UserName = null;  
     private string m_UserPassword = null;  
  
 // Get user credentials from SSO  
 // AffiliateAppVal is the name of SSO affiliate   
 // application for the specific destination endpoint  
     private void GetUserCredentials(  
 IBaseMessage message,   
 string AffiliateAppVal )  
     {  
 string creds[] = null;  
 string externalUserName = null;  
  
 ISSOTicket ssoTicket = new ISSOTicket();  
 creds = ssoTicket.ValidateAndRedeemTicket(  
 message,   
 AffiliateAppVal,   
 0,   
 out externalUserName);  
  
 m_UserName = externalUserName;  
 m_UserPassword = creds[0];  
     }  
...  
}  

参与方解析

参与方解析管道组件负责将发件人证书或发件人安全标识符 (SID) 映射到相应的已配置 BizTalk Server 参与方。 具有此信息的适配器应设置两个系统消息上下文属性 WindowsUserSignatureCertificate(如果已配置)供下游参与方解析组件使用。

WindowsUser 属性填充有发件人的域用户,例如 redmond\myBtsUser。 SignatureCertificate 属性使用客户端身份验证证书的指纹填充。

管理密码

如果您将凭据直接放置于某一终结点的属性中,则在您需要导出绑定文件时密码字段的内容将被清除。 这将要求您的用户以管理员的身份重新输入密码。 可以通过将 SSO 用于凭据来避免此问题。