Prima di tutto, ho esaminato la maggior parte delle domande su SO, ma nessuna sembra essere esattamente lo stesso problema. Here è una domanda simile, ma non del tutto uguale. Nel mio circostanza, Sto creando un PrincipalContext come tale:PrincipalContext.ValidateCredentials estremamente lento
Dim pctx As PrincipalContext = New PrincipalContext(ContextType.Domain, fullyqualifieddomain, container, ADUserID, ADPassword)
If pctx.ValidateCredentials(userName, password) Then
L'ADUserID è un account di servizio.
Questo metodo funziona, ma richiede fino a 6-10 secondi.
Ho anche provato a recuperare direttamente la voce della directory sottostante e il binding. Questo è molto più veloce e funziona sulla mia macchina (che è esterna al dominio), ma non sul server web (che si trova all'interno del dominio). Non riesce alla chiamata DirectoryEntry.NativeObject. Non so perché. Sfortunatamente, mi trovo in una situazione in cui l'unico modo in cui funziona è troppo lento per essere fattibile. C'è un modo per accelerare questo?
Grazie in anticipo!
Sul server Web è stato verificato che è possibile eseguire l'autenticazione, tutto lentamente, utilizzando il metodo PrincipalContext.ValidateCredentials? – Peter
Sì, ma è dolorosamente lento. Le credenziali valide impiegheranno 6-10 secondi, tuttavia le credenziali non valide impiegano il doppio del tempo. –