Freigeben über


SSO-Unterstützung für Sendeadapter

Einmaliges Anmelden für Unternehmen (SSO) stellt Dienste zum Speichern und Übertragen verschlüsselter Benutzeranmeldeinformationen über die lokalen Grenzen sowie Netzwerk- und Domänengrenzen hinweg bereit. Wenn Sie einen Transportadapter erstellen, können Sie für den Umgang mit den Benutzeranmeldeinformationen, mit denen ein Transportadapter auf Back-End-Anwendungen zugreift, die SSO-APIs verwenden.

Transportadapter, die kein SSO unterstützen, müssen normalerweise mit einem einzigen Satz von Anmeldeinformationen konfiguriert werden, mit dem sie auf Back-End-Anwendungen zugreifen. Bei vielen Back-End-Systemen erfüllt die Authentifizierung mit nur einem Konto möglicherweise nicht alle Sicherheitsanforderungen. Viele Anwendungen gewähren abhängig vom zugreifenden Benutzer verschiedene Zugriffsrechte. Mit SSO können Adapter die Anmeldeinformationen für den Endpunkt abhängig vom zugreifenden Benutzer dynamisch auswählen.

Funktionsweise von Sendeadaptern in Verbindung mit SSO

Senden Sie Adapter, die einmaliges Anmelden unterstützen, das Ticket zu überprüfen und einzulösen, und rufen Sie die Benutzeranmeldeinformationen aus dem SSO-System mithilfe der ISSOTicket.ValidateAndRedeemTicket-API ab. Der Adapter wird mit den abgerufenen Anmeldeinformationen am Zielendpunkt authentifiziert.

Im folgenden Codefragment wird veranschaulicht, wie ein Sendeadapter die Benutzeranmeldeinformationen vom SSO-System abruft:

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];  
     }  
...  
}  

Auflösen der Partei

Die Pipelinekomponente zum Auflösen der Partei ist für das Zuordnen des Absenderzertifikats oder der Absender-Sicherheits-ID (SID) zu der entsprechenden konfigurierten BizTalk Server-Partei verantwortlich. Adapter, für die diese Informationen verfügbar sind, sollten die beiden Systemnachrichtenkontexteigenschaften WindowsUser und SignatureCertificate so festlegen, dass sie von der nachgeschalteten Lösungskomponente verwendet werden, wenn sie konfiguriert sind.

Die WindowsUser-Eigenschaft wird mit dem Domänenbenutzer des Absenders aufgefüllt, z. B. redmond\myBtsUser. Die SignatureCertificate-Eigenschaft wird mit dem Fingerabdruck des Clientauthentifizierungszertifikats aufgefüllt.

Verwalten von Kennwörtern

Wenn Sie Anmeldeinformationen direkt in den Eigenschaften eines Endpunkts setzen, wird das Kennwortfeld beim Exportieren einer Bindungsdatei zurückgesetzt. Deshalb muss der Benutzer das Kennwort als Administrator erneut eingeben. Diese Schwierigkeiten können Sie vermeiden, indem Sie für Anmeldeinformationen SSO verwenden.