Partager via


Sessions d’ouverture de session client

Un serveur disposant du privilège SE_TCB_NAME, tel qu’un service Windows exécuté dans le compte LocalSystem, peut appeler la fonction LogonUser pour authentifier un client sur l’ordinateur sur lequel le serveur s’exécute. La fonction LogonUser démarre une nouvelle session d’ouverture de session et retourne un jeton d’accès principal qui contient les informations de sécurité du client. Vous pouvez utiliser ce jeton principal pour appeler la fonction ImpersonateLoggedOnUser pour emprunter l’identité du client ou pour appeler la fonction CreateProcessAsUser pour créer un processus qui s’exécute dans le contexte de sécurité du client.

L’avantage de l’authentification du client de cette façon est que le serveur empruntant l’identité du client authentifié, ou un processus créé dans le contexte du client authentifié, peut se connecter aux ressources réseau distantes en tant que client. Si cette authentification n’est pas effectuée, le serveur peut se connecter aux ressources réseau uniquement s’il a acquis le nom de compte et le mot de passe du client à transmettre à la fonction WNetAddConnection2 .

L’inconvénient de l’authentification du client de cette façon est que le serveur doit avoir acquis les informations d’identification du client (nom de domaine, nom d’utilisateur et mot de passe). Si un client distant fournit ces informations d’identification au serveur, il incombe au client et au serveur de s’assurer que les informations d’identification sont transmises de manière sécurisée.