Interstage Application Server Smart Repository運用ガイド |
目次
索引
![]() ![]() |
第7章 アプリケーションの作成(JNDI) | > 7.1 JNDIの位置付けと基本操作概要 | > 7.1.4 基本的な操作の流れ |
JNDIを使ってSmart Repositoryサーバへアクセスするためには、セションをオープンして、初期設定とユーザ認証を行う必要があります。このとき、環境プロパティの設定で設定したHashtable env変数を使用します。
セションをオープンした場合は、Smart Repositoryサーバアクセスを終了した後にセションのクローズを行う必要があります。
DirContext ctx = new InitialDirContext(env); |
javax.naming.directory.InitialDirContextクラスは、セションのオープンと同時に初期設定/ユーザ認証を行います。したがって、処理中にユーザ認証情報の変更などを行う場合は、新規にセションをオープンする必要があります。この場合、オープンしているセション数だけセションのクローズを行う必要があります。
また、javax.naming.ldap.InitialLdapContextクラスを利用することによって、セションのオープン中に、ユーザ認証等の変更を行うことができます。指定方法については、以下を参考にしてください。
・・・ Hashtable env = new Hashtable(5, 0.75f); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, "ldap://host:389"); // アノニマス(匿名ユーザ)認証でセションをオープン env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, ""); env.put(Context.SECURITY_CREDENTIALS, ""); InitialLdapContext ctx = new InitialLdapContext(env,null); ・・・ // 管理者権限で再認証 ctx.addToEnvironment(Context.SECURITY_AUTHENTICATION, "simple"); ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, "cn=admin"); ctx.addToEnvironment(Context.SECURITY_CREDENTIALS, "admin"); ctx.reconnect(null); ・・・ // セションをクローズ ctx.close(); |
目次
索引
![]() ![]() |