最初に、私はSOの質問のほとんどを見てきましたが、まったく同じ問題ではないようです。 Hereも同様の質問ですが、全く同じではありません。私の状況では、次のようにPrincipalContextを作成しています。PrincipalContext.ValidateCredentials極端に遅い
Dim pctx As PrincipalContext = New PrincipalContext(ContextType.Domain, fullyqualifieddomain, container, ADUserID, ADPassword)
If pctx.ValidateCredentials(userName, password) Then
ADUserIDはサービスアカウントです。
この方法は機能しますが、6-10秒以上かかることがあります。
また、基礎となるディレクトリエントリを取得して直接バインドすることも試みました。これははるかに高速で、私のマシン(ドメイン外)には動作しますが、ドメイン内にあるWebサーバー上では動作しません。これは、DirectoryEntry.NativeObject呼び出しで失敗します。どうしてか分かりません。残念ながら、私は、動作している唯一の方法が実現するには遅すぎる状況にあります。これをスピードアップする方法はありますか?
ありがとうございます!
Webサーバーで、PrincipalContext.ValidateCredentialsメソッドを使用して、すべてがゆっくりと認証できることを確認しましたか? – Peter
はい、それは痛いほど遅いです。有効な資格情報には6〜10秒かかりますが、無効な資格情報には2倍の時間がかかります。 –