リポジトリユーザーの管理に LDAP サーバーを使用するには、リポジトリの server.xml ファイルに <Realm> 要素を追加する必要があります。このファイルは JavaCAPS-install-dir/repository/repository/server/conf ディレクトリにあります。
server.xml ファイルには、ユーザーデータベースのフラットファイル実装を指定する、デフォルトの <Realm> 要素が含まれています。このフラットファイル実装は、JavaCAPS-install-dir/repository/repository/data/files ディレクトリにある tomcat-users.xml ファイルを使用します。
次の表に、<Realm> 要素のLDAP バージョンで使用される属性を示します。指定できるすべての属性の詳細については、org.apache.catalina.realm.JNDIRealm クラスに関する Tomcat のマニュアルを参照してください。
JavaCAPS-install-dir/repository/repository/server/conf ディレクトリにある server.xml ファイルを開きます。
デフォルトの <Realm> 要素を削除するかコメントアウトします。
Sun Java System Directory Server を使用している場合は、次の <Realm> 要素を <Engine> タグの内側に追加します。必要に応じて、デフォルト値を変更します。属性については前述の表で説明されています。
<Realm className="org.apache.catalina.realm.JNDIRealm" connectionURL="ldap://localhost:489" userBase="cn=People,dc=sun,dc=com" userSearch="(uid={0})" userSubtree="true" userRoleName="nsroledn" userRoleNamePattern="cn={0},dc=sun,dc=com" roleSubtree="true" /> |
Active Directory を使用している場合は、次の <Realm> 要素を <Engine> タグの内側に追加します。必要に応じて、デフォルト値を変更します。属性については前述の表で説明されています。
<Realm className="org.apache.catalina.realm.JNDIRealm" connectionURL="ldap://localhost:389" userBase="cn=Users,dc=sun,dc=com" userSearch="(cn={0})" userSubtree="true" roleBase="ou=CAPSRoles,dc=sun,dc=com" roleName="cn" roleSearch="(member={0})" roleSubtree="true" /> |
OpenLDAP Directory Server を使用している場合は、次の <Realm> 要素を <Engine> タグの内側に追加します。必要に応じて、デフォルト値を変更します。属性については前述の表で説明されています。
<Realm className="org.apache.catalina.realm.JNDIRealm" connectionURL="ldap://localhost:389" userBase="ou=People,dc=sun,dc=com" userSearch="(uid={0})" userSubtree="true" roleBase="ou=CAPSRoles,dc=sun,dc=com" roleName="cn" roleSearch="(uniquemember={0})" roleSubtree="true" /> |
LDAP サーバーが匿名の読み取りアクセスに対応するよう設定されていない場合は、connectionName 属性と connectionPassword 属性を <Realm> 要素に追加します。最初の属性は、Administrator ユーザーの DN に設定します。2 番目の属性は、ユーザーの暗号化されたパスワードに設定します。次の例を参照してください。
Sun Java System Directory Server:
connectionName="cn=Directory Manager" connectionPassword="E451KDVb0OPcH+GN46OZcg==" |
Active Directory:
connectionName="Administrator@sun.com" connectionPassword="geEiVIbtO+DcH+GN46OZcg==" |
OpenLDAP Directory Server:
connectionName="cn=Manager,dc=sun,dc=com" connectionPassword="l/ZRt1cfNKc=" |
パスワードを暗号化するには、JavaCAPS-install-dir/repository/repository/util ディレクトリにある encrypt ユーティリティーを使用します。このユーティリティーのファイル拡張子は、プラットフォームによって異なります。このユーティリティーは、暗号化されていないパスワードを引数として受け取ります。次に例を示します。
C:\JavaCAPS6\repository\repository\util>encrypt mypwd LCUApSkYpuE |
server.xml ファイルを保存して閉じます。
LDAP サーバーを起動します。
リポジトリをシャットダウンし、再起動します。