Recent Posts

RSS Feeds

LDAP接続用コード

ちょいと、今日は覚え書きです。 弊社は、いろんなツールを提供しておりますが、 Directoryサーバも提供しております。 今回は、DirectoryサーバにJavaで接続するための手順を書きます。 LDAPへの接続用サンプルJavaコード(例外処理は除く)

下記のコードのように、LDAPへの接続にはホスト名・ポート番号を指定してください。
そして、dnはLDAPに接続し操作するユーザのDNとパスワードを指定します。
パラメータについては様々なパラメータが用意されているので別途 JavaDocを参照して ください。
LDAPサーバに接続が完了した後、DirContextクラスのインスタンスdirconを使用して
LDAPの検索・登録・変更・削除処理等を行う。

	host = "ldap_server.sun.com";
	port = "389";
	dn =   "cn=Directory Manager"; //DIR操作が可能な接続ユーザ
	password = "secret"; //パスワード

	Properties env = new Properties();
	env.put(DirContext.INITIAL_CONTEXT_FACTORY,
			"com.sun.jndi.ldap.LdapCtxFactory");
	// LDAP URLの生成
	env.put(DirContext.PROVIDER_URL, "ldap://" + host + ":" + port);
	if (dn != null) { // バインドユーザとパスワードの設定
		env.put(DirContext.SECURITY_PRINCIPAL, dn);
		env.put(DirContext.SECURITY_CREDENTIALS,password);
	}
	//接続タイムアウトの設定(3秒)
	env.put("com.sun.jndi.ldap.connect.timeout", "3000");

	// コネクションプールを有効化
	env.put("com.sun.jndi.ldap.connect.pool", "true");
	//アイドル接続のコネクションを自動的に削除する設定5分
	//本クラスでは明示的にclose()を呼び出していないため、
	//5分間コネクションプーリングされる。
	env.put("com.sun.jndi.connect.pool.timeout", "300000");
	//デバッグを全て
	env.put("com.sun.jndi.connect.pool.debug", "all");

	// LDAPサーバへの接続&Directory Contextの作成
	dircon = new InitialDirContext(env);

    ........(何らかの処理の記述)
    dircon.close();

Permalink     No Comments
Track Back :




Post a Comment:
Comments are closed for this entry.