发送适配器的 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 用于凭据来避免此问题。