structure MSV1_0_LM20_LOGON (ntsecapi.h)

La structure MSV1_0_LM20_LOGON contient des informations d’ouverture de session utilisées dans les ouvertures de session réseau.

Il est utilisé par LsaLogonUser.

Syntaxe

typedef struct _MSV1_0_LM20_LOGON {
  MSV1_0_LOGON_SUBMIT_TYPE MessageType;
  UNICODE_STRING           LogonDomainName;
  UNICODE_STRING           UserName;
  UNICODE_STRING           Workstation;
  UCHAR                    ChallengeToClient[MSV1_0_CHALLENGE_LENGTH];
  STRING                   CaseSensitiveChallengeResponse;
  STRING                   CaseInsensitiveChallengeResponse;
  ULONG                    ParameterControl;
} MSV1_0_LM20_LOGON, *PMSV1_0_LM20_LOGON;

Membres

MessageType

Valeur MSV1_0_LOGON_SUBMIT_TYPE qui spécifie le type d’ouverture de session demandé. Ce membre doit être défini sur MsV1_0Lm20Logon ou MsV1_0NetworkLogon.

Si ce membre est défini sur MsV1_0Lm20Logon, le package MSV1_0 ignore le membre ParameterControl .

LogonDomainName

Une UNICODE_STRING qui contient le nom du domaine d’ouverture de session. Le nom de domaine spécifié doit être un domaine Windows (ou domaine mixte) qui figure dans la liste des domaines approuvés de cet ordinateur. Si le nom de domaine d’ouverture de session n’est pas connu (par exemple, pour les clients qui ne fournissent pas ces informations), ce membre doit être passé en tant que chaîne de longueur nulle. Ce domaine est l’autorité d’authentification.

UserName

UNICODE_STRING qui représente le nom du compte de l’utilisateur. Le nom peut avoir jusqu’à 255 octets. Le nom est traité comme ne respectant pas la casse.

Workstation

UNICODE_STRING qui contient le nom de l’ordinateur de la station de travail cliente à partir de laquelle la demande d’ouverture de session utilisateur a été lancée.

ChallengeToClient[MSV1_0_CHALLENGE_LENGTH]

Contient le défi retourné par un appel précédent à LsaCallAuthenticationPackage, lorsque MsV1_0Lm20ChallengeRequest a été spécifié comme type de message. Pour plus d’informations, consultez la description des MsV1_0Lm20ChallengeRequest dans MSV1_0_PROTOCOL_MESSAGE_TYPE. Cela permet au package d’authentification de déterminer si la réponse au défi est correcte.

CaseSensitiveChallengeResponse

Contient une fonction du mot de passe Unicode respectant la casse du client. En règle générale, il s’agit du membre ChallengeToClient chiffré par une version sensible à la casse du mot de passe.

Certains clients fournissent simplement le mot de passe Unicode en texte clair respectant la casse. Dans ce cas, ce membre pointe vers ce mot de passe en texte clair . Le package d’authentification MSV1_0 peut accepter ce formulaire non chiffré en fonction d’une option de configuration.

Certains clients ne prennent pas en charge les mots de passe Unicode respectant la casse. Dans ce cas, ce membre doit contenir une chaîne de longueur nulle.

CaseInsensitiveChallengeResponse

Contient une fonction du mot de passe MBCS (Multi-octets) insensible à la casse du client. En règle générale, il s’agit du membre ChallengeToClient chiffré par une version du mot de passe qui ne respecte pas la casse.

Les clients qui prennent uniquement en charge MBCS et non Unicode fournissent un mot de passe MBCS en texte clair qui ne respecte pas la casse. Dans ce cas, ce membre pointe vers ce mot de passe en texte clair . Le package d’authentification MSV1_0 accepte ce formulaire non chiffré en fonction d’une option de configuration.

ParameterControl

Spécifie les attributs des autres paramètres. Il peut s’agir d’un ou plusieurs des indicateurs suivants.

Valeur Signification
MSV1_0_CLEARTEXT_PASSWORD_ALLOWED
02
LanMan2.0 ou LanMan1.0 envoie un mot de passe en texte clair au lieu d’une réponse de défi. Pour autoriser l’utilisation de mots de passe en texte clair dans le message NetworkLogon, une application doit fournir cet indicateur.
MSV1_0_UPDATE_LOGON_STATISTICS
04
Mettez à jour les statistiques d’ouverture de session pour le compte. Si cet indicateur n’est pas défini, le nombre de mots de passe incorrects est défini sur zéro en cas d’ouverture de session réussie.
MSV1_0_RETURN_USER_PARAMETERS
08
Si cet indicateur est spécifié, le membre UserParameters de la mémoire tampon de retour MSV1_0_LM20_LOGON_PROFILE est valide.
MSV1_0_DONT_TRY_GUEST_ACCOUNT
10
Empêche l’utilisateur de se connecter avec un compte invité.
MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT
20
Si cet indicateur est défini, les comptes de contrôleur de domaine peuvent être utilisés pour l’authentification ; sinon, seuls les comptes d’utilisateur peuvent être utilisés.
MSV1_0_RETURN_PASSWORD_EXPIRY
40
Entraîne le retour de l’heure d’expiration du mot de passe dans le membre LogoffTime de la structure MSV1_0_LM20_LOGON_PROFILE retourné dans la mémoire tampon de sortie.
MSV1_0_USE_CLIENT_CHALLENGE
80
Indique que caseInsensitiveChallengeResponse contient un défi client dans les 8 premiers octets.
MSV1_0_TRY_GUEST_ACCOUNT_ONLY
100
Permet à l’utilisateur de se connecter à l’aide du compte invité.
MSV1_0_RETURN_PROFILE_PATH
200
Retourne le chemin d’accès du profil pour le système de fichiers EFS ( Encrypting File System ). Le chemin du profil est utilisé par EFS pour localiser le profil de l’utilisateur et rechercher les clés de l’utilisateur pour le chiffrement et le déchiffrement des fichiers. Ces informations ne sont pas retournées à l’appelant ; il est stocké dans l’ALS et utilisé par les processus internes.
MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY
400
En mode normal, le membre LogonDomainName est utilisé comme suggestion. Le package (à l’aide du service NetLogon) continue de transmettre la demande d’ouverture de session aux contrôleurs de domaine plus haut dans le chemin d’accès de domaine approuvé jusqu’à ce que l’un d’eux rejette l’ouverture de session de manière autoritaire.

Cet indicateur remplace ce comportement afin que seul le contrôleur de domaine spécifié tente de traiter l’ouverture de session. Si LogonDomainName est vide, l’ouverture de session ne sera pas tentée.

MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT
800
Permet aux clients de démarrage à distance de se connecter à l’aide d’un compte d’ordinateur.
MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED
4000
Autorise l’utilisateur d’un mot de passe en texte clair.

Windows XP et Windows Server 2003 : Non pris en charge.

MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY
8000
Autorise l’utilisation du domaine uniquement pour le routage.

Windows XP et Windows Server 2003 : Non pris en charge.

MSV1_0_ALLOW_MSVCHAPV2
10000
Autorise l’ouverture de session de la sous-authentification.

Windows XP et Windows Server 2003 : Non pris en charge.

MSV1_0_S4U2SELF
20000
Permet aux clients S4U de se connecter sans mot de passe.

Windows Vista, Windows Server 2003 avec SP2, Windows XP et Windows Server 2003 : Non pris en charge.

MSV1_0_CHECK_LOGONHOURS_FOR_S4U
40000
Vérifiez les heures de connexion pour un journal S4U sur le client.

Windows Vista, Windows Server 2003 avec SP2, Windows XP et Windows Server 2003 : Non pris en charge.

MSV1_0_INTERNET_DOMAIN
80000
Permet aux utilisateurs d’Internet d’ouvrir une session. Cet indicateur doit être utilisé directement par les appels des packages d’authentification et non par netlogon.

Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP et Windows Server 2003 : Non pris en charge.

Remarques

Si les membres UserName, CaseSensitiveChallengeResponse et CaseInsensitiveChallengeResponse contiennent tous des chaînes de longueur nulle, un jeton anonyme est généré pour l’ouverture de session. Ce jeton anonyme ne permet pas à l’utilisateur d’accéder aux ressources système protégées, mais autorise l’accès aux ressources système non protégées. Le serveur utilise cette méthode pour prendre en charge une session NULL .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête ntsecapi.h

Voir aussi

LsaCallAuthenticationPackage

LsaLogonUser

MSV1_0_LM20_LOGON_PROFILE

MSV1_0_LOGON_SUBMIT_TYPE

MSV1_0_PROTOCOL_MESSAGE_TYPE