Partager via


Prise en charge de l'authentification unique pour les adaptateurs d'envoi

L'authentification unique (SSO) de l'entreprise inclut des services permettant de stocker et de transmettre, sous forme chiffrée, des informations d'identification de l'utilisateur au niveau local et réseau, y compris au niveau des domaines. Lors de la création d'un adaptateur de transport, vous pouvez gérer les informations d'identification utilisateur dont aura besoin l'adaptateur de transport pour accéder aux applications principales à l'aide des API SSO.

Les adaptateurs de transport qui ne prennent pas en charge l'authentification unique doivent généralement être configurés avec un seul jeu d'informations d'identification afin d'accéder aux applications principales. Pour la plupart de ces systèmes principaux cependant, l'authentification par compte unique peut ne pas répondre à toutes leurs exigences de sécurité. De nombreuses applications fournissent des droits d'accès différents en fonction de l'utilisateur. Avec l'authentification unique, les adaptateurs peuvent choisir de manière dynamique les informations d'identification à utiliser pour le point de terminaison, en fonction de l'utilisateur qui tente d'y accéder.

Fonctionnement des adaptateurs d'envoi avec l'authentification unique

Envoyez des adaptateurs qui prennent en charge l’authentification unique valident et échangent le ticket et obtiennent les informations d’identification de l’utilisateur auprès du système SSO En utilisant l’API ISSOTicket.ValidateAndRedeemTicket . Ils se servent ensuite des informations d'identification ainsi obtenues pour l'authentification avec le point de terminaison de destination.

Le fragment de code suivant montre comment un adaptateur d'envoi récupère les informations d'identification utilisateur à partir du système d'authentification unique :

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

Résolution du tiers

Le composant de pipeline de résolution de partie est chargé de mapper le certificat de l’expéditeur ou l’identificateur de sécurité de l’expéditeur (SID) à l’BizTalk Server partie configurée correspondante. Les adaptateurs qui disposent de ces informations doivent définir les deux propriétés de contexte de message système, WindowsUser et SignatureCertificate, à consommer par le composant de résolution de partie en aval s’il est configuré.

La propriété WindowsUser est renseignée avec l’utilisateur de domaine de l’expéditeur, par exemple redmond\myBtsUser. La propriété SignatureCertificate est remplie avec l’empreinte numérique du certificat d’authentification client.

Gestion des mots de passe

Si vous placez directement les informations d'identification dans les propriétés d'un point de terminaison, la valeur du champ de mot de passe est effacée lors de l'exportation d'un fichier de liaison. Vous devrez disposer des droits d'administrateur pour entrer de nouveau le mot de passe. Pour éviter ce problème, utilisez l'authentification unique.