Malheureusement, il n'existe pas de moyen "simple" de vérifier les informations d'identification d'un utilisateur dans AD.
Avec toutes les méthodes présentées jusqu'ici, vous pouvez obtenir un faux négatif : Les références d'un utilisateur seront valides, mais AD renverra un faux négatif dans certaines circonstances :
- L'utilisateur doit changer son mot de passe à la prochaine connexion.
- Le mot de passe de l'utilisateur a expiré.
ActiveDirectory ne vous permettra pas d'utiliser LDAP pour déterminer si un mot de passe est invalide du fait qu'un utilisateur doit changer de mot de passe ou que son mot de passe a expiré.
Pour déterminer si le mot de passe a été modifié ou s'il a expiré, vous pouvez appeler Win32:LogonUser(), et vérifier le code d'erreur Windows pour les 2 constantes suivantes :
- ERROR_PASSWORD_MUST_CHANGE = 1907
- ERROR_PASSWORD_EXPIRED = 1330