傳送配接器的 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 以避免這種困難狀況。