Interstage Application Server Smart Repository運用ガイド |
目次 索引 |
第6章 アプリケーションの作成(JNDI) | > 6.1 JNDIの使用方法 | > 6.1.2 基本的な操作の流れ |
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,ou=interstage,o=fujitsu,dc=com"); ctx.addToEnvironment(Context.SECURITY_CREDENTIALS, "admin"); ctx.reconnect(null); ・・・ // セションをクローズ ctx.close(); |
1プロセス内で保持できるセション数は最大1024です。1024を超過してセションを生成しようとした場合、SSLExceptionが生成されます。
SSLException エラータイプの値(int):99、SSLエラーコード:200002
アプリケーションで以下の対応をしてください。
目次 索引 |