/cd/E19509-01/820-5624/ggfpv/index.html
/cd/E19509-01/820-5624/landingpage/index.html
第 1 章 在 Java CAPS 中使用 LDAP
此处列出的主题提供了有关如何在 Sun JavaTM Composite Application Platform Suite (Java CAPS) 中使用轻量目录访问协议 (Lightweight Directory Access Protocol, LDAP) 的信息。
如果您有任何问题,请参见/support中的 Java CAPS Web 站点。
LDAP 概述
将 LDAP 服务器用于系统信息库用户管理
将 LDAP 服务器用于 Sun JMS IQ Manager 用户管理
将 LDAP 服务器用于 Enterprise Manager 用户管理
动态指定应用程序配置属性
LDAP 概述
轻量目录访问协议 (Lightweight Directory Access Protocol, LDAP) 是一种标准,用于使客户机可以查询和更新目录服务中的数据。
LDAP 目录中包含一系列的条目。条目由属性的集合和唯一标识条目的标识名组成。
在以下示例中,第一行指定 DN。后续行指定属性。
DN 的各组成部分是按层次结构排列的(按具体程度由高到低)。因此,DN 中的最后一个组成部分标识目录的根条目。
每个属性都包含一个类型,以及一个或多个值。例如,属性ou: Roles的类型为ou(组织单位),值为Roles。对象类是一种属性,用于指定条目的必需属性和可选属性。您可以在 RFC 2256 中查找许多对象类的定义。
以上示例是以 LDAP 数据交换格式 (LDAP Data Interchange Format, LDIF) 表示的。还可以使用图形方式表示条目。
搜索 LDAP 目录时,使用搜索过滤器指定搜索条件。可以使用星号作为通配符。例如:
将 LDAP 服务器用于系统信息库用户管理
可以将 Java CAPS 系统信息库配置为使用 LDAP 服务器进行用户管理。
当用户尝试登录系统信息库时,将检查用户名和密码是否与 LDAP 服务器中存储的用户名和密码匹配。此外,可以从服务器检索用户的角色列表,以授权用户访问系统信息库中的各种对象。
支持以下 LDAP 服务器:
Sun JavaTM System Directory Server 版本 5.1、5.2 和 6.x
Microsoft 的 Active Directory(Windows Server 随附的版本)
OpenLDAP Directory Server 2.x
首先,必须配置 LDAP 服务器。请参见相应的章节:
配置 Sun JavaTM System Directory Server
配置 Active Directory 服务
配置 OpenLDAP Directory Server
然后,配置系统信息库,使其可以找到 LDAP 服务器,并查找相应的信息(例如目录中包含用户的部分)。请参见配置系统信息库。
如果要对系统信息库和 LDAP 服务器之间的通信进行加密,请参见SSL 支持。
《管理 Java CAPS 用户》提供了有关系统信息库用户管理的基本信息。
配置 Sun JavaTM System Directory Server
Sun Java System Directory Server 版本 5.1 和 5.2 包含以下主要组件:
Directory Server
Administration Server
Directory Server 控制台
可以使用 Directory Server 控制台执行大多数管理任务。该控制台包含四个顶级选项卡:“任务”、“配置”、“目录”和“状态”。“目录”选项卡将目录条目显示为树。可以通过此选项卡浏览、显示和编辑所有条目和属性。
还可以通过编辑配置文件或使用命令行实用程序手动执行管理任务。
Sun Java System Directory Server 版本 6.x提供以下方式来管理目录中的条目:
Directory Service Control Center (DSCC)
目录编辑器
ldapmodify和ldapdelete命令行实用程序
DSCC 已集成到 Sun JavaTM Web Console 中。DSCC 包含五个顶级选项卡:“一般任务”、“目录服务器”、“代理服务器”、“服务器组”和“设置”。
依次单击“目录服务器”选项卡、服务器的名称和“条目管理”选项卡后,将显示可以浏览、添加和修改条目的页面。目录信息树 (Directory Information Tree, DIT) 将显示在左侧。
还可以使用“一般任务”选项卡创建新条目或浏览数据。
注 –
有关如何执行以下步骤的详细信息,请参见随 Sun Java System Directory Server 提供的文档。
配置 Sun Java System Directory Server
在People目录下创建admin用户和Administrator用户。
在顶层节点下创建角色all、administration和management。
将创建的角色分配给admin用户和Administrator用户。
转至配置系统信息库。
配置 Active Directory 服务
Active Directory 是 Windows 的一个关键部件。它提供了各种可管理性、安全性以及互操作性功能。主要的管理工具是名为“Active Directory 用户和计算机”的管理单元。
Active Directory 不支持角色的概念。因此,在 Active Directory 中,必须使用组的概念模拟 Java CAPS 角色。
您应在名为CAPSRoles的新组织单位中创建组,而不是在Users目录中创建组。
注 –
有关如何执行以下步骤的详细信息,请参见随 Active Directory 提供的文档。
配置 Active Directory 服务
启动“Active Directory 用户和计算机”管理工具。
右键单击根节点,然后选择“新建”>“组织单位”。
将显示“新建对象 - 组织单位”对话框。
在“名称”字段中,输入一个值(例如CAPSRoles)。
单击“确定”。
在该组织单位下,创建以下组:all、administration和management。要创建组,请右键单击组织单位,然后选择“新建”>“组”。对组范围和组类型使用默认值。
添加组后,这些组将显示在该组织单位下。
将admin用户和Administrator用户作为您所创建的所有组的成员添加,方法是:双击每个组,然后从对话框中选择admin和Administrator。
转至配置系统信息库。
配置 OpenLDAP Directory Server
OpenLDAP 项目提供了 LDAP 协议的开源实现。LDAP 服务器将作为名为slapd的独立守护进程运行。主要的配置文件名为slapd.conf。此文件包含全局信息、特定于后端的信息以及特定于数据库的信息。可以使用多种方式将条目添加到数据库,例如,可以使用slapadd程序。要搜索数据库,请使用ldapsearch程序。
有关详细信息,请参见。
注 –
有关如何执行以下步骤的详细信息,请参见随 OpenLDAP Directory Server 提供的文档。
配置 OpenLDAP Directory Server
在用户所在的节点下创建admin用户和Administrator用户。
如果您的模式中没有用于角色的节点,请为将在以下步骤中创建的特定于 Java CAPS 的角色创建一个节点。例如:
在角色所在的节点下创建角色all、administration和management。将admin用户和Administrator用户作为每个角色的唯一成员添加。例如:
根据需要,将其他用户添加到一个或多个角色。例如:
转至配置系统信息库。
配置系统信息库
要将 LDAP 服务器用于系统信息库用户管理,必须将<Realm>元素添加到系统信息库的server.xml文件中,该文件位于JavaCAPS-install-dir/repository/repository/server/conf目录中。
server.xml文件包含用于指定用户数据库的平面文件实现的默认<Realm>元素。平面文件实现将使用tomcat-users.xml文件,该文件位于JavaCAPS-install-dir/repository/repository/data/files目录中。
下表介绍了 LDAP 版本的<Realm>元素所使用的属性。有关所有可能属性的详细介绍,请参见org.apache.catalina.realm.JNDIRealm类的 Tomcat 文档。
配置系统信息库
打开server.xml文件,该文件位于JavaCAPS-install-dir/repository/repository/server/conf目录中。
删除或注释掉默认的<Realm>元素。
如果使用的是 Sun Java System Directory Server,将以下<Realm>元素添加到<Engine>标记中。根据需要更改默认值。前面的表对属性进行了介绍。
如果使用的是 Active Directory,将以下<Realm>元素添加到<Engine>标记中。根据需要更改默认值。前面的表对属性进行了介绍。
如果使用的是 OpenLDAP Directory Server,将以下<Realm>元素添加到<Engine>标记中。根据需要更改默认值。前面的表对属性进行了介绍。
如果您的 LDAP 服务器未配置为允许匿名读取访问,请将connectionName属性和connectionPassword属性添加到<Realm>元素中。将第一个属性设置为Administrator用户的 DN。将第二个属性设置为用户的加密密码。请参阅以下示例。
Sun Java System Directory Server:
Active Directory:
OpenLDAP Directory Server:
要对密码进行加密,请使用encrypt实用程序,该程序位于JavaCAPS-install-dir/repository/repository/util目录中。该实用程序的文件扩展名取决于您的平台。该实用程序使用未加密的密码作为参数。例如:
保存并关闭server.xml文件。
启动 LDAP 服务器。
关闭并重新启动系统信息库。
SSL 支持
默认情况下,系统信息库和 LDAP 服务器之间的通信没有加密。
要对系统信息库和 LDAP 服务器之间的通信进行加密,请对本主题中先前所介绍的过程进行以下添加和修改。
配置 LDAP 服务器上的 SSL
确保已将 LDAP 服务器配置为使用安全套接字层 (Secure Sockets Layer, SSL)。有关详细信息,请参见随 LDAP 服务器提供的文档。
在准备下一步时,请将 LDAP 服务器的证书导出为文件。
导入 LDAP 服务器的证书
必须将 LDAP 服务器的证书添加到系统信息库的可信证书列表中。该列表位于名为cacerts的文件中。
在以下过程中,您将使用keytool程序。此程序随 Java SDK 一起提供。
导入 LDAP 服务器的证书
导航至JDK-install-dir/jre/bin目录。
使用在安装系统信息库过程中指定的 JDK。
运行以下命令:
对于-alias选项,您可以指定任何值。
对于-file选项,请指定 LDAP 服务器的证书的全限定名称。例如:
对于-keystore选项,请指定cacerts文件的全限定名称。cacerts文件位于JDK-install-dir/jre/lib/security目录中。例如:
出现提示时,请输入密钥库密码。默认密码为changeit。
出现是否信任此证书的提示时,请输入yes。
将显示以下消息:
修改 LDAP 服务器 URL
在server.xml文件的<Realm>元素中,按以下方式修改 LDAP 服务器的 URL:
将协议设置为ldaps。
将端口号设置为 LDAP 服务器侦听 SSL 请求时使用的端口号。此端口号通常为 636。
例如:
将 LDAP 服务器用于 Sun JMS IQ Manager 用户管理
可以将 Sun JMS IQ Manager 配置为使用 LDAP 服务器进行用户管理。
领域是用于执行安全策略的用户、组和角色的集合。JMS IQ Manager 支持多个 LDAP 领域同时运行。
在执行以下步骤时,仅在连接具有有效的用户名和密码时才允许访问 JMS IQ Manager。
支持以下 LDAP 服务器:
Sun Java System Directory Server 版本 5.1、5.2 和 6.x
Microsoft 的 Active Directory(Windows Server 随附的版本)
OpenLDAP Directory Server 2.x
《管理 Java CAPS 用户》提供了与 Sun JMS IQ Manager 用户管理有关的基本信息。
配置 LDAP 服务器
在以下过程中,您将在 LDAP 服务器中创建用户和角色。
配置 LDAP 服务器
创建一个或多个 JMS IQ Manager 用户。
创建一个或多个以下角色:
根据需要为用户分配角色。
配置 Sun JMS IQ Manager
必须配置 JMS IQ Manager,使其能够找到 LDAP 服务器,并查找相应的信息。
可以启用多个 LDAP 服务器。此外,您还可以指定默认领域。
配置 Sun JMS IQ Manager
如果应用服务器没有运行,请启动应用服务器。
登录到 Configuration Agent。URL 的格式为http://hostname:port-number/configagent。将主机名设置为安装了应用服务器的计算机的 TCP/IP 主机名。将端口号设置为应用服务器的管理端口号。例如:
http://localhost:4848/configagent
在左侧窗格中,单击 JMS IQ Manager 节点(例如IQ[lowbar]Manager[lowbar]18007)。
单击“访问控制”选项卡。
确保选中了“需要验证”标签右侧的复选框。
如果要启用 Sun Java System Directory Server,则请选中“启用 Sun Java System Directory Server”标签右侧的复选框,然后单击“显示属性”。
下表介绍了显示的属性。默认值将匹配 Sun Java System Directory Server 的标准模式。查看每个属性的默认值。如有需要,修改默认值。
如果要启用 Active Directory,则请选中“启用 Microsoft Active Directory Server”标签右侧的复选框,然后单击“显示属性”。
下表介绍了显示的属性。默认值将匹配 Active Directory 的标准模式。查看每个属性的默认值。如有需要,修改默认值。
如果要启用 OpenLDAP Directory Server,则请选中“启用通用 LDAP 服务器”标签右侧的复选框,然后单击“显示属性”。
下表介绍了显示的属性。查看每个属性的默认值。如有需要,修改默认值。
如果要更改默认领域,请从“默认领域”下拉列表中选择该领域。
单击“保存”。
将 LDAP 服务器用于 Enterprise Manager 用户管理
可以将 Enterprise Manager 配置为使用 LDAP 服务器进行用户管理。
支持以下 LDAP 服务器:
Sun Java System Directory Server 版本 5.1、5.2 和 6.x
Microsoft 的 Active Directory(Windows Server 随附的版本)
OpenLDAP Directory Server 2.x
首先,应配置 LDAP 服务器。然后,配置 Enterprise Manager 服务器,使其可以找到 LDAP 服务器,并查找相应的信息(例如目录中包含用户的部分)。
《管理 Java CAPS 用户》提供了有关 Enterprise Manager 用户管理的基本信息。
配置 Sun Java System Directory Server
Sun Java System Directory Server 版本 5.1 和 5.2 包含以下主要组件:
Directory Server
Administration Server
Directory Server 控制台
可以使用 Directory Server 控制台执行大多数管理任务。该控制台包含四个顶级选项卡:“任务”、“配置”、“目录”和“状态”。“目录”选项卡将目录条目显示为树。可以通过此选项卡浏览、显示和编辑所有条目和属性。
还可以通过编辑配置文件或使用命令行实用程序手动执行管理任务。
Sun Java System Directory Server 版本 6.x提供以下方式来管理目录中的条目:
Directory Service Control Center (DSCC)
目录编辑器
ldapmodify和ldapdelete命令行实用程序
DSCC 已集成到 Sun JavaTM Web Console 中。DSCC 包含五个顶级选项卡:“一般任务”、“目录服务器”、“代理服务器”、“服务器组”和“设置”。
依次单击“目录服务器”选项卡、服务器的名称和“条目管理”选项卡后,将显示可以浏览、添加和修改条目的页面。目录信息树 (Directory Information Tree, DIT) 将显示在左侧。
还可以使用“一般任务”选项卡创建新条目或浏览数据。
注 –
有关如何执行以下步骤的详细信息,请参见随 Sun Java System Directory Server 提供的文档。
配置 Sun Java System Directory Server
在People目录下创建admin用户和Administrator用户。
在顶部节点下创建以下角色:
Deployment
User Management
Read-Only Monitor
Controlling Monitor
JMS Read-Only Monitor
JMS Read-Write Monitor
Manager
将创建的角色分配给admin用户和Administrator用户。
转至配置 Enterprise Manager Server。
配置 Active Directory 服务
Active Directory 是 Windows 的一个关键部件。它提供了各种可管理性、安全性以及互操作性功能。主要的管理工具是名为“Active Directory 用户和计算机”的管理单元。
Active Directory 不支持角色的概念。因此,在 Active Directory 中,必须使用组的概念模拟 Enterprise Manager 角色。
注 –
有关如何执行以下步骤的详细信息,请参见随 Active Directory 提供的文档。
配置 Active Directory 服务
启动“Active Directory 用户和计算机”管理工具。
右键单击根节点,然后选择“新建”>“组织单位”。
将显示“新建对象 - 组织单位”对话框。
在“名称”字段中,输入一个值(例如EntMgrRoles)。
单击“确定”。
在该组织单位下,创建以下组:
Deployment
User Management
Read-Only Monitor
Controlling Monitor
JMS Read-Only Monitor
JMS Read-Write Monitor
Manager
添加组后,这些组将显示在该组织单位下。
将admin用户和Administrator用户作为您所创建的所有组的成员添加,方法是:双击每个组,然后从对话框中选择admin和Administrator。
转至配置 Enterprise Manager Server。
配置 OpenLDAP Directory Server
OpenLDAP 项目提供了 LDAP 协议的开源实现。LDAP 服务器将作为名为slapd的独立守护进程运行。主要的配置文件名为slapd.conf。此文件包含全局信息、特定于后端的信息以及特定于数据库的信息。可以使用多种方式将条目添加到数据库,例如,可以使用slapadd程序。要搜索数据库,请使用ldapsearch程序。
有关详细信息,请参见。
注 –
有关如何执行以下步骤的详细信息,请参见随 OpenLDAP Directory Server 提供的文档。
配置 OpenLDAP Directory Server
在用户所在的节点下创建admin用户和Administrator用户。
如果您的模式中没有用于角色的节点,请为将在以下步骤中创建的 Enterprise Manager 角色创建一个节点。
在角色所在的节点下创建以下角色:
Deployment
User Management
Read-Only Monitor
Controlling Monitor
JMS Read-Only Monitor
JMS Read-Write Monitor
Manager
将admin用户和Administrator用户作为每个角色的唯一成员添加。
根据需要,将其他用户添加到一个或多个角色。
转至配置 Enterprise Manager Server。
配置 Enterprise Manager Server
配置 LDAP 服务器后,可配置 Enterprise Manager Server,使其可以找到 LDAP 服务器,并查找相应的信息。
必须编辑以下 Enterprise Manager 文件:web.xml和ldap.properties。
配置 Enterprise Manager Server
关闭 Enterprise Manager 的服务器组件。
打开web.xml文件,该文件位于JavaCAPS-install-dir/emanager/server/webapps/sentinel/WEB-INF目录中。
找到以下行:
将参数值更改为:
保存web.xml 文件。
打开ldap.properties文件,该文件位于JavaCAPS-install-dir/emanager/server/webapps/sentinel/WEB-INF/classes目录中。
下表介绍了ldap.properties文件中出现的所有属性。针对您的 LDAP 服务器编辑该部分中的属性,并确保未注释掉这些属性。
保存ldap.properties文件。
启动 Enterprise Manager 的服务器组件。
动态指定应用程序配置属性
要指定应用程序配置属性,可以使用静态方法,也可以使用动态方法。
若使用静态方法,请在设计时在 NetBeans IDE 中指定属性值。此属性值包含在应用程序文件中。如果需要在部署后更改该值,则必须在 NetBeans IDE 中更改该值,重新生成应用程序文件,并重新部署应用程序文件。
若使用动态方法,请在设计时指定 LDAP URL。此 URL 必须指向 LDAP 服务器中的属性。部署应用程序文件时,实际值是从 LDAP 服务器检索的。部署后可以在 LDAP 服务器中更改该值,而不执行静态方法的步骤。但是,为了使更改生效,必须先禁用此应用程序文件,然后再将其重新启用。
可以对接受字符串值(包括密码)、数字值或布尔值的属性使用此功能。
注 –
另一种用于更新属性值的方法不需要使用 LDAP。在asadmin工具中,运行extract-caps-application-configuration命令。指定应用程序文件的配置属性将被提取为属性文件。更新一个或多个属性值,然后运行import-caps-configuration命令。重新启动应用程序。
启用应用服务器以访问 LDAP 服务器
在此任务中,将编辑用于指定应用服务器如何访问 LDAP 服务器的属性。
启用应用服务器以访问 LDAP 服务器
启动 Sun Java System Application Server 中随附的asadmin工具。
运行export-caps-ldap-configuration命令。您必须指定要用于存储LDAP.properties文件的目录。
将生成LDAP.properties文件。
使用文本编辑器打开LDAP.properties文件。
设置以下属性的值,这些属性用于指定如何访问 LDAP 服务器。
host
port
sslport
password
loginDN
ldapVersion是可选属性。可以将此属性设置为任何数字值。
保存LDAP.properties文件。
运行import-caps-configuration命令。必须指定包含LDAP.properties文件的目录。
启动 Sun Java System Application Server 中随附的管理控制台。
在左窗格中,依次展开CAPS节点、Environment and CM Overrides节点和Environment Overrides节点。选择capsenv/LDAP节点。
属性字段将显示在右窗格中。现在即可从管理控制台更新这些属性。也可以更新LDAP.properties文件,然后再次运行import-caps-configuration命令。
为属性指定 LDAP URL
以下是可以在 Java CAPS 中使用的 LDAP URL 的两个示例:
指向 LDAP 服务器中属性值的正确路径取决于目录结构。
请勿在 LDAP URL 中包含反斜线字符 ()。
RFC 2255 定义了 LDAP URL 的格式。您可以在/rfc.html中查看 RFC。
为属性指定 LDAP URL
在 NetBeans IDE 中,访问包含此属性的“属性”对话框。
输入指向 LDAP 服务器中对应属性的 LDAP URL。
在以下屏幕捕获中,"Input File Name"(输入文件名)属性设置为 LDAP URL。
转至 LDAP 服务器,然后输入实际值。
部署应用程序文件时,请确保 LDAP 服务器正在运行。如果未运行 LDAP 服务器,则部署将不会成功。