Interstage Application Server Smart Repository運用ガイド |
目次
索引
![]() ![]() |
第2章 機能 | > 2.4 エントリ管理 |
コマンド、SDKで、DNに特殊文字を指定するには、その特殊文字の前に“\”(エンマーク)を置いてエスケープする必要があります。
エスケープが必要な特殊文字を以下に示します。
上記以外の特殊文字を指定する場合には、エスケープする必要はありません。
エスケープが必要な特殊文字を含むDNを指定する場合の例を以下に示します。
cn=a\b,o=Fujitsu, Inc.,c=jp
コマンドの場合
コマンドの場合は、特殊文字をエスケープし、さらに、その特殊文字を含む属性値を"(ダブルクォーテーション)で囲む必要があります。
cn="a\\b",o="Fujitsu\, Inc.",c=jp
SDK(C API)の場合
"cn=a\\b,o=Fujitsu\, Inc.,c=jp"
SDK(JNDI)の場合
JNDIは注意が必要です。
LDAP、JNDI、Java言語それぞれで、\(エンマーク(バックスラッシュ))文字を特殊文字と扱うためです。いくつか例を示します。
\を含むcn属性を指定するとします。
a\b
LDAPの規約により\をエスケープする必要があります。
cn=a\\b
JNDIの仕様により、この名前を指定するために、それぞれの\をエスケープする必要があります。
cn=a\\\\b
Java言語の仕様により、この名前を文字列リテラルとして指定するために、それぞれの\をエスケープする必要があります。
String name1 = "cn=a\\\\\\\\b";
同様に、,(カンマ)、"(ダブルクォーテーション)の場合はそれぞれ次のようになります。
String name2 = "cn=a\\\\,b"; String name3 = "cn=a\\\\\"b";
最初の例をJNDIで使用する場合は、次のように記述します。
String name = "cn=a\\\\\\\\b,o=Fujitsu\\\\, Inc.,c=jp"
目次
索引
![]() ![]() |