在 Java CAPS 中使用 LDAP

Procedure配置系统信息库

  1. 打开 server.xml 文件,该文件位于 JavaCAPS-install-dir/repository/repository/server/conf 目录中。

  2. 删除或注释掉默认的 <Realm> 元素。

  3. 如果使用的是 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"
    />
  4. 如果使用的是 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"
    />
  5. 如果使用的是 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"
    />
  6. 如果您的 LDAP 服务器未配置为允许匿名读取访问,请将 connectionName 属性和 connectionPassword 属性添加到 <Realm> 元素中。将第一个属性设置为 Administrator 用户的 DN。将第二个属性设置为用户的加密密码。请参阅以下示例。

    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="

    要对密码进行加密,请使用 encrypt 实用程序,该程序位于 JavaCAPS-install-dir/repository/repository/util 目录中。该实用程序的文件扩展名取决于您的平台。该实用程序使用未加密的密码作为参数。例如:


    C:\JavaCAPS6\repository\repository\util>encrypt mypwd
    LCUApSkYpuE
  7. 保存并关闭 server.xml 文件。

  8. 启动 LDAP 服务器。

  9. 关闭并重新启动系统信息库。