Trước hết, tôi đã xem xét hầu hết các câu hỏi trên SO, nhưng dường như không có vấn đề nào giống hệt nhau. Here là một câu hỏi tương tự, nhưng không hoàn toàn giống nhau. Trong trường hợp của tôi, tôi đang tạo một PrincipalContext như vậy:PrincipalContext.ValidateCredentials cực kỳ chậm
Dim pctx As PrincipalContext = New PrincipalContext(ContextType.Domain, fullyqualifieddomain, container, ADUserID, ADPassword)
If pctx.ValidateCredentials(userName, password) Then
ADUserID là tài khoản dịch vụ.
Phương pháp này hoạt động nhưng mất tối đa 6-10 giây.
Tôi cũng đã cố truy xuất mục nhập thư mục cơ bản và liên kết trực tiếp. Điều này là nhanh hơn nhiều và hoạt động trên máy tính của tôi (mà là bên ngoài tên miền), nhưng không phải trên máy chủ web (mà là bên trong tên miền). Nó không thành công trong cuộc gọi DirectoryEntry.NativeObject. Tôi không biết tại sao. Thật không may, tôi đang ở trong một tình huống mà cách duy nhất đang hoạt động là quá chậm để khả thi. Có cách nào để tăng tốc độ này không?
Cảm ơn trước!
Trên máy chủ web, bạn đã xác minh rằng bạn có thể xác thực, tất cả đều chậm, sử dụng phương thức PrincipalContext.ValidateCredentials? – Peter
Có, nhưng nó rất chậm. Thông tin đăng nhập hợp lệ sẽ mất 6-10 giây, tuy nhiên, thông tin xác thực không hợp lệ mất hơn gấp đôi. –