0

まず、私は Active Directory の初心者であり、サーバーの構成を処理するのは私ではありません (これが実際にサーバー関連の問題である場合)。ただし、適切なアドバイスがあれば、そのアドバイスを適切な人に伝えることができます。

大規模な ASP.NET C# .NET 3.5 アプリケーションを実行しています。

私たちが遭遇しているシーンは次のとおりです。

グローバル カタログの AD 検索をテストするためのテスト ページを作成しました。

テスト サーバー 1 からは、次のようになります。

GC://TEST.COM:3268 (セキュリティで保護されていない) を使用 -> 優れたパフォーマンス。

G:C//TEST.COM:3269 (セキュア) を使用 -> 優れたパフォーマンス

テスト サーバー 2 から:

GC://TEST.COM:3268 (セキュリティで保護されていない) を使用 -> 優れたパフォーマンス。

G:C//TEST.COM:3269 (セキュア) を使用 -> 失敗します。

私が見る唯一の例外は次のとおりです。例外:「サーバーは動作していません」

両方のテスト サーバーが同じコードを実行しているため、コードの問題ではないと思います。問題が発生するのは、テスト サーバー 2 から GC のセキュア ポートに接続しようとしたときだけです。

サーバーで実行しようとしたときの例外情報は次のとおりです。例外をログテーブルにダンプしています。

Directory Services Com Exception (Exception Message) : サーバーが動作していません。エラーコード: -2147016646 スタックトレース:

System.DirectoryServices.DirectoryEntry.Bind (ブール値 throwIfFail) で

System.DirectoryServices.DirectoryEntry.Bind() で System.DirectoryServices.DirectoryEntry.get_AdsObject() で

System.DirectoryServices.DirectorySearcher.FindAll (ブール値の findMoreThanOne) で

System.DirectoryServices.DirectorySearcher.FindOne() で TestClass.GetUserDomainTest (文字列ユーザー名) で

testclass.aspx.cs:155行目

私が言ったように、それがコードの問題だとは思いませんが、コードが役立つ場合はコードを同封しました:

private string GetUserDomain2(string UserName) 
{ 
    string domainName = String.Empty; 
    try 
    { 
       // This is Test page code so we can change the values as we want 
        DirectoryEntry entry = new DirectoryEntry(txtGCPath.Text) 
        entry.Username = txtGCUserID.Text; 
        entry.Password = txtGCPassword.Text; 
        // Set SSL or leave default 
        if (cb1.Checked == true) 
        { 
            entry.AuthenticationType = AuthenticationTypes.SecureSocketsLayer; 
        } 

        DirectorySearcher search = new DirectorySearcher(); 
        search.SearchRoot = entry; 
        search.SearchScope = SearchScope.Subtree; 
        search.Filter = string.Format(txtGCFilter.Text, UserName); 


        SearchResult results = search.FindOne(); // CRASHES HERE 
      // Parsing code removed. 
      return domainName; 
   } 
4

1 に答える 1

0

SSL は必要なく、デフォルトでは SSL は有効になっていません。Kerberos セキュリティ機能を使用して、トラフィックを完全に暗号化できます。これは、私が SASL' QOP で行うことですauth-conf

于 2012-05-19T14:45:15.783 に答える