发送适配器的 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 参与方。 具有此信息的适配器应设置两个系统消息上下文属性 WindowsUser 和 SignatureCertificate(如果已配置)供下游参与方解析组件使用。
WindowsUser 属性填充有发件人的域用户,例如 redmond\myBtsUser。 SignatureCertificate 属性使用客户端身份验证证书的指纹填充。
管理密码
如果您将凭据直接放置于某一终结点的属性中,则在您需要导出绑定文件时密码字段的内容将被清除。 这将要求您的用户以管理员的身份重新输入密码。 可以通过将 SSO 用于凭据来避免此问题。