Po pierwsze, przyjrzałem się większości pytań na SO, ale żaden nie wydaje się być dokładnie tym samym problemem. Here to podobne pytanie, ale nie do końca takie samo. W mojej sytuacji utworzę podstawową treść jako taką:PrincipalContext.ValidateCredentials bardzo wolno
Dim pctx As PrincipalContext = New PrincipalContext(ContextType.Domain, fullyqualifieddomain, container, ADUserID, ADPassword)
If pctx.ValidateCredentials(userName, password) Then
ADUserID to konto usługi.
Ta metoda działa, ale trwa dłużej niż 6-10 sekund.
Próbowałem również bezpośrednio pobrać pozycję katalogu podstawowego i powiązanie. Jest to znacznie szybsze i działa na moim komputerze (który znajduje się poza domeną), ale nie na serwerze internetowym (który znajduje się w domenie). Błąd kończy się wywołaniem DirectoryEntry.NativeObject. Nie wiem dlaczego. Niestety, jestem w sytuacji, w której jedyny sposób, który działa, jest zbyt wolny, aby był wykonalny. Czy istnieje sposób, aby to przyspieszyć?
Z góry dziękuję!
na serwerze WWW czy sprawdzeniu, że można uwierzytelnić, wszyscy się go powoli, stosując metodę PrincipalContext.ValidateCredentials? – Peter
Tak, ale jest boleśnie powolny. Prawidłowe poświadczenia będą trwały 6-10 sekund, jednak nieprawidłowe poświadczenia zajmują dwa razy dłużej. –