Tout d'abord, j'ai regardé la plupart des questions sur SO, mais aucune ne semble être exactement le même problème. Here est une question similaire, mais pas tout à fait la même chose. Dans mon cas, je crée une PrincipalContext en tant que tel:PrincipalContext.ValidateCredentials extrêmement lent
Dim pctx As PrincipalContext = New PrincipalContext(ContextType.Domain, fullyqualifieddomain, container, ADUserID, ADPassword)
If pctx.ValidateCredentials(userName, password) Then
Le ADUserID est un compte de service.
Cette méthode fonctionne mais prend de 6 à 10 secondes.
J'ai également essayé de récupérer directement l'entrée de répertoire et la liaison sous-jacentes. C'est beaucoup plus rapide et fonctionne sur ma machine (qui est en dehors du domaine), mais pas sur le serveur web (qui est dans le domaine). Il échoue à l'appel DirectoryEntry.NativeObject. Je ne sais pas pourquoi. Malheureusement, je suis dans une situation où la seule façon de travailler est trop lente pour être réalisable. Y a-t-il un moyen d'accélérer cela?
Merci d'avance!
Sur le serveur Web, avez-vous vérifié que vous pouvez vous authentifier, tout cela lentement, en utilisant la méthode PrincipalContext.ValidateCredentials? – Peter
Oui, mais c'est terriblement lent. Les informations d'identification valides prennent 6 à 10 secondes, mais les informations d'identification non valides prennent deux fois plus de temps. –