3

構築中の ASP.NET Web フォーム サイトで、2 種類のユーザーを区別したいと考えています。

すべてのユーザーは AD 内にあり、この 2 つを区別する方法は、それらをLRDBIPPDBという 2 つの異なる組織単位に配置することです。

この LDAP パスを使用してログイン時にそれらを検証しようとすると:

<add name="ADConnectionString" connectionString="LDAP://test.example.com:389/DC=test,DC=com,OU=IPPDB" />

次のようなサーバー エラーが表示されます。

説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下の特定のエラーの詳細を確認し、構成ファイルを適切に変更してください。

パーサー エラー メッセージ: 操作エラーが発生しました。

そして、メンバーシップ プロバイダーがある行が、エラーの発生元として強調表示されます。

<add enableSearchMethods="true" connectionStringName="ADConnectionString" name="MembershipADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />

ただし、LDAP パスを変更して OU 部分を除外すると、「機能します」。組織単位内のメンバーだけでなく、AD 内にいるすべての人が認証されるという意味で機能します。

この混乱を避けることができない場合は、LDAP パスに OU がないことを許可することができるのではないかと考えていました。ユーザーが AD の一部であることが判明したら、それがどの OU であるかを確認します。一部の。ただし、OU のプロパティが表示されません。これが私が望むコードの外観です。ユーザーから OU を取得する方法はありますか?

助けてくれてありがとう!

-----------------解決策------------------

marc_s に感謝:

そうあるべきだと思います

connectionString="LDAP://test.example.com:389/OU=IPPDB,DC=test,DC=com"  

OU=まずはDC=パーツの前に

4

1 に答える 1

1
  • ou=ippdb,dc=test,dc=com識別名です。
  • 識別名は、一連の相対識別名 (RDN) から構成され、コンマ (,) で区切られます。
  • 相対識別名は属性値アサーションから構築されます。アサーションの左側はオプションのない属性の説明 (cn;lang-en=Bart Simpson有効な相対識別名ではないが有効であることを意味しcn=Bart Simpsonます) であり、右側は次に従って構築された属性です。属性記述の構文。
  • 左側として使用される属性の説明には、equality matching rule.
  • 相対識別名では、左側 (属性の説明) はしばしばnaming attribute.

識別名は、すぐ上位の RDN がそのすぐ下の RDN の右側にあるように構成されます (コンマで区切られます)。dc=test,dc=com与えられた例では (ディレクトリ情報ツリーで上位にあるという通常の規則を仮定して)、ou=ippdbは のすぐ下位になりdc=testます。

于 2012-08-08T21:53:30.190 に答える