0

改訂が必要な内部アプリにレガシー コードがあります。すべてをやり直す前に、認証しているユーザーに応じて OU が異なる可能性がある AD へのバインドを達成する簡単な方法があります。セットアップは非常に標準的です。

my($mesg) = $ldap->bind ("cn=$uid,ou=Workers,ou=Domain Users,dc=something,dc=com", password => "$psswd");

すべてのユーザーが「ワーカー」OU であるわけではありません。一部は別の OU にあります... 基本的に、perl から AD にバインドするための「if-then-else」ルーチンがあるかどうか疑問に思っています。回避できるのであれば、これを検索する目的でサードパーティのアカウントを設定したくない...しかし、私が読んだほとんどすべてのドキュメントは、このログイン方法を指しているようです. アイデアや提案はありますか?

4

2 に答える 2

1

AD に完全な DN を指定する必要はありません。ユーザー名で十分です。

于 2012-04-23T20:47:47.620 に答える
1

これは「単純な」バインド要求と呼ばれ、識別名と識別名の資格情報をパラメーターとして受け取ります。0 個以上のリクエスト コントロールをバインド リクエストに含めることができます。バインド要求が送信される前に呼び出される変数を構築し$distinguishedName、バインド要求を送信し、応答を処理し、応答に含まれる応答コントロールを処理します。

my $namingContext = "ou=domain users,dc=something,dc=com";
my $distinguishedName = sprintf "%s,%s,%s",$cn,$ou,$namingContext;
my $bindResult = $ldap->bind($distinguishedName,$credentials);
# handle any response controls attached to the bind response ...
于 2012-04-24T08:58:42.117 に答える