10

ActiveDirectoryMembershipProvider を使用してユーザーにアクセスを許可するアプリケーションがあります。アプリケーションは、アプリケーション サーバーとドメイン コントローラの間にファイアウォールを備えた非ドメイン マシンでホストされます。

内部ネットワークの DC への LDAP ポートを開いていますが、何を試しても、「指定されたドメインまたはサーバーに接続できませんでした」というエラーが発生します。

これを解決する方法について何か提案はありますか? 私たちは考えられるすべてのことを試しましたが、どこにも到達していません。

私の接続文字列は次のとおりです。

<add name="ADConnectionString"
    connectionString="LDAP://10.5.3.7:389/DC=MyTestDomain,DC=local"/>

そして、私のプロバイダーは次のとおりです。

<add name="ActiveDirectoryMembershipProvider"
    type="System.Web.Security.ActiveDirectoryMembershipProvider"
    connectionStringName="ADConnectionString"
    attributeMapUsername="SAMAccountName"
    connectionProtection="None"
    connectionUsername="LdapUser"
    connectionPassword="LdapPassword"   />
4

6 に答える 6

4

アプリケーションは非ドメインマシンでホストされ、アプリケーションサーバーとドメインコントローラーの間にファイアウォールがあります。

LDAPツールを使用して直接クエリを実行できるため、ファイアウォールが正しく開いていることを示しています。ただし、ActiveDirectoryMembershipProviderは単純な古いLDAPを使用しておらず、Microsoftテクノロジを使用していることに注意してください。たとえば、を設定connectionProtection="Secure"すると、ADMPはSSLとポート636を使用しようとしますが、失敗した場合は、Microsoftの組み込みIPSec署名を使用します(詳細については、この記事を参照してください)。

とにかく、これは私にいくつかのことについて疑問に思います:

  1. ADドメインには、非ドメイン/非構成コンピューターからの接続を拒否するIPSec「必須」ポリシーがありますか?(プレーンLDAPに接続しているため、おそらくそうではありませんが、調査する価値があります。)
  2. ドメインコントローラーのNetBIOS名をlmhostsファイルに追加し、そのDNS名をhostsファイルに追加しましたか?(多くのプロトコルは、ターゲットの報告された名前が接続しようとした名前と一致することを確認します。)
  3. 多くの人が、異なるドメイン間でADMPを使用する際の問題に気づきました。このソリューションでは、一方向の信頼を作成する必要がありました。クライアントコンピュータがドメインに属していないように思われるため、(a)一方向の信頼を持つ別のドメインのメンバーであるか、(b)のメンバーでない限り、その信頼を得ることができません。同じドメイン、つまりクライアントサーバーの信頼は暗黙的です。
于 2009-09-16T14:19:33.613 に答える
3

解決策はポート445を開くことのようです。

このスレッドを読む

開けないので行き詰まっていると思います。

于 2009-08-21T12:48:04.710 に答える
1

このエラーが発生し、なんとか修正できました。これにつながる可能性のある複数の理由があります。これは、予想される問題を特定するためのやることリストです。

  1. 単一のメソッドMembership.GetAllUsers()を使用してマイクロアプリケーションを作成し、Active Directory(AD)の外部のマシンで実行し、接続文字列に誤ったパスワードを使用して、誤ったパスワード例外が発生するかどうかを確認します。取得できない場合は、ADサーバーに接続できません。ファイアウォールを確認し、無効なパスワード例外が発生した場合は、次の手順に進みます。

  2. 可能であれば、ADサーバーで同じアプリをローカルで実行してみてください。最初はパスワードが正しくなく、アプリをローカルで実行すると、より詳細な例外が発生します(私にとって、この例外は問題の修正につながります)。私の場合、ワークステーションサービスが開始されていないよりも、サーバーサービスが開始されていないというメッセージが表示されました。

サーバーとワークステーションサービスがサーバー上で動作する必要があるという事実に関するいくつかの考え:afaikサーバーサービスはWindowsファイル共有(TCP経由のnetbios)に使用され、445ポートを使用しているため、このポートをで開く必要があります。 LDAPポートへの追加。私の2番目の観察は、445ポートが開いた場合(netstat -an)、それでも機能しない可能性があることです。このパケットを受信したネットワークインターフェイスアダプターでWindowsクライアントとファイルおよびプリンターの共有チェックボックスがオンになっていない場合、winowsはすべてのパケットをこのポートにドロップします。 。「telnetExternal_IP445」を確認してください。この問題に苦しんでいる間に私が集めたすべての情報です。

于 2011-11-09T05:22:36.833 に答える
1

この2つの記事を使用すると、問題が解決する可能性があります

www.ddj.com/windows/184406424

forums.asp.net/t/1408268.aspx

ファイアウォールを確認してください

于 2009-09-16T12:43:23.440 に答える
0

リモートボックスからLDAPブラウジングツールを使用してテストし、ここで使用されている基準に接続できるかどうかを確認しましたか?つまり、接続の問題ですか、それとも他の問題ですか?

于 2009-08-13T00:58:02.117 に答える
0

誰かがこれにつまずいて、壁に頭をぶつけたい場合に備えて...最近、私の会社が現在のコンテキストとは異なるドメインにあるADサーバーに対してこれをすべて実行しようとしました。提供された IP を使用していて、ここに記載されているようにエラーが発生しました。Softerra LDAP Admin のようなツールを使用しても問題なく動作しましたが、AccountManagement は失敗しました。

その IP アドレスにフックされた公開 URL がありました (依然として特定の IP のみが呼び出しを許可されています)。IPを提供されたURLに置き換えると、それは魅力的に機能しました.

これにより、私が経験したばかりの頭を壊す時間を誰かが節約できることを願っています.

于 2015-02-12T22:23:57.743 に答える