- PR -

ActiveDirectory(LDAP)よりユーザー情報を検索する方法

1
投稿者投稿内容
さとう
会議室デビュー日: 2003/08/13
投稿数: 2
投稿日時: 2003-08-13 21:16
初めて投稿させていただきます。よろしくお願いいたします。
標記の内容を実装できるようなAPIをご存知でしたら、ご教授いただけませんでしょうか。

http://www.atmarkit.co.jp/fnetwork/rensai/ldap06/ldap1.html
上記記事を参考に、ActiveDirectoryに格納されているユーザ情報を取得するCLASSを作成しています。
記事内にある検索のサンプルプログラムのbaseDNを変更して、
ADのユーザー情報を取得するプログラムを作ったのですが
「Error: netscape.ldap.LDAPException: error result (49); 80090308: LdapErr: DSID-0C09030B, comment: AcceptSecurityContext error, data 525, v893 ; 証明書が無効です。」
というエラーが出てしまい、うまく検索結果を取得することが出来ません。

別のツールにてADの情報を引き出そうとしたところ、Annonymousにて検索した場合はヒット数0となり、Domain Admin権限をつけたユーザにて検索した場合は期待した結果が表示されました。
また、上記記事のサンプルプログラムにおいて、第二引数と第三引数をNULLにしたところ
エラーが回避されたものの、検索結果は取得できませんでした。

上記内容から、サンプルプログラムではWindowsドメイン認証に対応していないのではないかと考えています。
記事の内容はNetscape Directory SDKの場合のサンプルですので、
そのまま適用しても動かないのは確かに当然かもしれません。
Netscape Directory SDKのDeveloper's Guideにも軽く目を通したのですが、
該当する項目はなかったように思えます(読取不足かもしれませんが)。

サンプルプログラムのどの部分を修正すれば直るか、あるいはサンプルとは別の方法で実現する方法があるか
ご存知の方がいらっしゃいましたら教えていただけますでしょうか。
よろしくお願いいたします。
さとう
会議室デビュー日: 2003/08/13
投稿数: 2
投稿日時: 2003-08-15 18:48
自己レスです。
結局サンプルを使うのはやめ、JNDIを使って機能を作成しました。

env.put(Context.SECURITY_PRINCIPAL, "foo@bar");
env.put(Context.SECURITY_CREDENTIALS, "hoge");
env.put(Context.SECURITY_AUTHENTICATION, "simple");

Hashtableに対して、上記のようにSECURITY_PRINCIPAL,SECURITY_CREDENTIALS,SECURITY_AUTHENTICATIONを設定することで、Windows認証が可能になりました。
akira
常連さん
会議室デビュー日: 2004/03/10
投稿数: 38
投稿日時: 2004-12-07 17:07
さとう様
こんにちは

だいぶ古い書き込みなので、忘れておられるかもしれませんが、
この1番目の書き込みの状態が今、わたくしの環境で起こっております。

そのままの現象だったので、驚き、次のレスを読んだんですが、
こちらはどういうことでしょうか。

お忙しいとは思いますが、もう少し詳しくご説明いただけたら、とてもうれしいです

よろしくお願い致します。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-12-07 17:48
JNDIをご存じないのでしょうか、それともJNDIを使っていて同じ現象が起こっているのでしょうか。
もし前者だとすれば、Sunのサイトに行ってみるなり検索をかけてみるなりしてみてください。
akira
常連さん
会議室デビュー日: 2004/03/10
投稿数: 38
投稿日時: 2004-12-08 11:28
UK様

説明不足で申し訳ありません。

わたくしの環境で試していたのは、外部から、bugzillaのldap認証を利用し、ActiveDirectoryにそのメンバーを確認しにいくというものです

ですので、プログラム自体は、わたくしが開発したものではなく、bugzillaのVersion 2.18rc3を使用しています。


さとう様と同様な現象だったのは、以下の箇所でした。
「別のツールにてADの情報を引き出そうとしたところ、Annonymousにて検索した場合はヒット数0となり、Domain Admin権限をつけたユーザにて検索した場合は期待した結果が表示されました。 」

ですから、何か参考になれば、と思い書き込みしました。
書き込む場所が違うのかもしれません。。。

ありがとうございました。
また、いろいろ調べてみます。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-12-08 12:17
「別のツール」というのが何かわかりませんが、LDAPブラウザかなんかですか?
それだけ聞くと単純にAnonymousユーザに検索権限がないだけではないかと思うのですが、
bugzillaから認証を行うときもAnonymousユーザをプリンシパルに指定しているのですか?

引用:

ですから、何か参考になれば、と思い書き込みしました。
書き込む場所が違うのかもしれません。。。


Javaとは無関係なのは確かですね
Windows Server Insider会議室あたりが適切かもしれません。どちらにしても、情報はもう
少し具体的に書くようにしたほうがいいですよ。
1

スキルアップ/キャリアアップ(JOB@IT)