1

私は、.net フレームワークを使用した LDAP ベースのディレクトリ サービス プログラミングにかなり慣れていません。したがって、基本的なばかげた質問があります。

System.DirectoryServices.Protocol を使用して、特定のユーザーが属するすべてのサブ ツリーを調べたいと思います。

まず、ユーザーは「1 つの」ディレクトリ サービス インスタンスの複数のサブ ツリーの一部になることができますか? はいの場合、「System.DirectoryServices.Protocol」名前空間を使用して、特定のユーザーが属するすべてのサブツリーを見つけるにはどうすればよいですか?

ユーザーが特定のサブツリーに「のみ」属している場合、ユーザーの DN からサブツリーのすべての DN を見つけることができると思います。他に効率の良い方法があれば教えてください。

アップデート:

私の質問について具体的に言うと、これが私のユーザー オブジェクトの DN であるとすれば、「uid=DaffyD,OU=Ducks,OU=People,O=A」 、他の OU に直接または間接的に存在できるかどうか? たとえば、「OU=Ducks」を「People」以外の OU の一部にすることはできますか?

次に、私の次の質問は、ユーザーの DN の何らかの文字列操作を行わずに、このユーザーが System.DirectoryService.Protocol を効率的に使用している親ノードの DN の名前をどうにかして見つけることができますか?

4

2 に答える 2

3

これは、Active Directory での私の経験のみに基づいていますが、他の LDAP ディレクトリでも同様に処理されると思います。

いいえ、ユーザーは 1 回しか存在しないため、1 つのコンテナー (通常は OrganizationalUnit) にのみ配置できます。私の知る限り、ユーザーへの「シンボリック リンク」という概念はありません。

とにかく、ユーザーが複数の場所に存在することを本当に望んでいるのはなぜですか??

パーミッションを処理するためにユーザーを複数のサブツリーの一部にしたい場合、それはすべて間違っています。あるユーザーに特定の操作を許可するかどうかを、LDAP 内のそのユーザーの「場所」に基づいて決定するべきではありません。階層ではなく、グループのメンバーシップに基づいています。

LDAP グループは権限を処理することを目的としており、ユーザーは任意の数のグループのメンバーになることができます - そこに 1:n の関係があります - ユーザーはグループのメンバーになることができ、それらのグループは権限の処理を担当します。

マルク

于 2009-08-13T08:05:45.450 に答える
3

I'm not sure what you mean by a user "belonging" to a subtree. A user object will exist in a single path in the directory, and its DN will tell you what that path is (in practice, it's vice versa: you know the DN and then find the object). This is the whole point of the DN == distinguished name: to uniquely name objects.

Of course, a user can belong to multiple groups (as a feature of Active Directory); those groups are spread over the directory. Not sure whether you also referred to groups when using the word "belong".

Edit: as any kind of user object can only have a single parent OU, likewise, each OU can have only a single parent container (typically O or OU). The entire directory forms a tree, no node can have two parents.

The framework only processes DNs as strings. However, there are third-party DN parser libraries available.

于 2009-08-13T07:57:12.953 に答える