Java Solaris 加入Sun中国技术社区 我的社区 注册说明

BigAdmin 系统管理门户网站
专题文章:在 Solaris 10 操作系统上安装、管理和使用 Sun Java System Access Manager 和 Sun Java System Identity Manager

在 Solaris 10 操作系统上安装、管理和使用 Sun Java System Access Manager 和 Sun Java System Identity Manager

Jonathan Gershater、Suveer Chainani、Abdi Mohammadi、Jan Vanhaecht,2006 年 7 月


目录

简介

本文档简要说明了如何在 Solaris 10 操作系统上安装和配置 Sun Java Identity Management Suite。这些步骤利用 Solaris 10 软件的 Solaris Zones 和 Service Management Facility 功能。

安装和配置过程参照了 http://docs.sun.com 上的正式 Sun 文档,但也提供了一些替代方法。虽然本文档中提供了详细说明、屏 幕文本输出和屏幕快照,但用户仍需要具备一些 Sun Java Identity Management Suite 的使用经验。

此外,还提供了故障排除和一些最佳做法准则。本文档旨在为正式 Sun 文档提供补充,而不是替代这些文档。

图 1
(单击放大)


1.0 在 Solaris 10 操作系统上安装 Sun Java System Access Manager 7.0 (2005Q4 JES4)

可以从 Sun.com 免费下载安装软件。您需要具有 Sun 登录 ID 才能下载该软件。< /p>

Sun Java System Access Manager 7 2005Q4 文档的 《Sun Java Enterprise System 2005Q4 Installation Guide for UNIX》 (用于 UNIX 的 Sun Java Enterprise System 2005Q4 安装指南)中提供了安装说明。

下面简要说明了如何在 Solaris 10 操作系统全局区域中使用缺省目录、用户名、口令和 TCP/IP 端口,在运行 Solaris 10 操作系统的服务器实例上安装 Sun Java Identity Management Suite。

  1. 就本文档而言,将在传统模式下安装 Access Manager。如果要在领域模式下使用 Access Manager,请确保安装 Identity Manager Service Pack 1 和 Access Manager patch 2( Solaris 修补程序 120954-02)。然后,按照 Identity Manager Service Pack 1 说明将其与 Access Manager 领域集成在一起。

1.2 使用 Solaris 10 Service Management Facility 管理 Sun Java System Directory Server

可以在 Solaris 操作系统中使用 Service Management Facility (SMF) 管理本文介绍的所有软件组件。为了实现此目标,请参见文章 Configuring Sun Java System Identity Manager as a Service for the Solaris 10 OS(将 Sun Java System Identity Manager 配置为 Solaris 10 操作系统服务)。


2.0 在 Solaris 10 操作系统区域中安装 Identity Manager 6.0 (ID2005Q4M3) Pack

下列步骤简要说明了如何在 Solaris 10 操作系统的非全局完全根区域中安装 Java System Identity Manager。在本方案中,Identity Manager 的系统信息库是 MySQL 4.1,应用服务器是 Sun Java System Application Server 8.1。

1. 为 Identity Manager 创建一个完全根区域。可通过使用 zonemgr 脚本轻松完成此操作;BigAdmin: The Zone Manager(区域管理器)中也提供了对此脚本的说明。

2. 安装 MySQL。Identity Manager 需要使用系统信息库来存储其数据,以及使用 Servlet 引擎来处理 Web 页。就本指南而言,将 MySQL 数据库版本 4.1 用作系统信息库,而将 Sun Java System Application Server 8.1 用作应用服务器。

请注意,随 Solaris 10 操作系统提供的 MySQL 4.0.24 捆绑版本位于 /usr/sfw/mysql 中。请勿使用 MySQL 的这一捆绑版本,因为 Sun Java System Identity Manager 6.0 不支持 4.0 版。

2.1 下载并安装 MySQL 4.1

MySQL 4.1 Downloads(MySQL 4.1 下载)中下载 MySQL 4.1。您还需要使用 MySQL 的 Java DataBase Connectivity (JDBC) 驱动程序,可以从 MySQL Connector/J 中下载该驱动程序。

《MySQL 3.23, 4.0, 4.1 Reference Manual》< /a> (MySQL 3.23、4.0、4.1 参考手册)中提供了有关安装 MySQL 4.1 的详细说明。

代码示例 1 简要说明了 MySQL 4.1 的安装过程。

启动 MySQL

# bin/mysqld_safe --user=mysql &

[1] 10553
# Starting mysqld daemon with databases from /usr/local/mysql4.1/data

然后,通过连接到缺省 3306 端口测试服务器是否启动,如下所示:

# telnet 127.0.0.1 3306

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
=
4.1.18-standardEmv)d@R[,Qe+AFzW#G}_

编辑启动脚本 mysql.server

先创建备份副本。

# cp /etc/sfw/mysql/mysql.server /etc/sfw/mysql/mysql.server.OLD

/etc/sfw/mysql/mysql.server 进行以下更改,以反映新的 MySQL 4.1 安装:

# Set some defaults

datadir=/usr/local/mysql4.1/data
pid_file=
if test -z "$basedir"
then
basedir=/usr/local/mysql4.1
bindir=/usr/local/mysql4.1/bin
sbindir=/usr/local/mysql4.1/bin

(可选)创建一个软链接:

ln -s /usr/local/mysql4.1/bin/mysqld_safe mysqld_saf

2.2 下载并安装 Sun Java System Identity Manager ID2005Q4M3 (Identity Manager 6.0)

Sun Java System Identity Manager 不是作为 Sun Java Enterprise System 的一部分下载并安装的。Sun Java System Identity Manager 是一个单独下载并安装的产品。可从以下 Web 页中免费下载该安装软件: Solaris Enterprise System。您需要具有 Sun 登录 ID 才能下载该软件。

2.2.1 安装 Application Server 8.1

Java System Identity Manager 至少需要一个 Servlet 容器。在 代码示例 2 中,将使用 Java System Application Server。下面的文章中提供了 Java System Identity Manager 安装说明: Installing Identity Install Pack for Sun Java System Application Server 8(为 Sun Java System Application Server 8 安装 Identity Install Pack)。

插入 Sun Java Enterprise System CD 并运行 ./product/install -nodisplay

您现在应该已使用缺省域安装了应用服务器,如下所示:

[root@idmzone:/var/opt/SUNWappserver/domains] ls

domain1

然后,必须按如下方式启动该域(系统将提示您输入管理员用户的口令):

[root@idmzone:/opt/SUNWappserver/sbin] ./asadmin start-domain domain1 --user admin

Starting Domain domain1, please wait.
Log redirected to /var/opt/SUNWappserver/domains/domain1/logs/server.log.
Domain domain1 started.

使用浏览器按如下方式验证是否已启动域: http://idmzone.sun.com:8080/

图 2
(单击放大)

(可选)创建一个指向 asadmin 命令的软链接:

[root@solaris10:/usr/sbin] ln -s /opt/SUNWappserver/appserver/bin/asadmin asadmin

按如下方式登录到应用服务器管理服务器控制台: https://hostname:4849/(请注意,此处是 http s)。

2.2.2 安装 Identity Manager 6.0

确保安装了 JDK 版本 1.4.2,并且环境变量 JAVA_HOME 指向它。

[root@idmzone: /]export JAVA_HOME=/usr/java (soft link to /usr/jdk/j2sdk1.4.2_08)

下面的文章中提供了 Java System Identity Manager 安装说明: Installing Identity Install Pack for Sun Java System Application Server 8(为 Sun Java System Application Server 8 安装 Identity Install Pack)。

解压缩下载的文件 (IDPACK2005Q4M3.zip),然后创建数据库表:

[root@idmzone:/var/tmp/idm/IDPAK_2005Q4M3/db_scripts] mysql -uroot [ -ppassword ]

< create_waveset_tables.mysql

现在开始安装 Identity Manager。 代码示例 3 简要说明了安装过程。

将数据库的库文件(按照上面的第 2.1 部分进行下载)复制到 WEB-INF/lib 中。

[root@idmzone:/var/tmp/idminstall/WEB-INF/LIB] cp /var/tmp/mysqljdbc.jar .

安装许可证文件。

[root@idmzone:/var/tmp/idminstall/bin] ./lh license set -f /var/tmp/sun-idm.xml

License Information
License is valid.
Licensed to: Sun Microsystems
Licensed Products: Identity Manager

2.2.2.1 完成以下步骤以进行 Access Manager 集成

1. 创建一个目录,将在其中放置从 Java System Access Manager 服务器复制的文件。在此过程中,将此目录命名为 cfgdir。Sun Java System Access Manager 的位置被命名为 AccessMgrHome

目标目录为 /idmzone/idmzone/root/var/tmp/idminstall/cfgdir。源目录为 /opt/SUNWam//etc/opt/SUNWam

2. 将以下文件从 AccessMgrHome 复制到 cfgdir 中。不要复制目录结构。

[root@solaris10:/opt/SUNWam/lib]cp *.* 

/idmzone/idmzone/root/var/tmp/idminstall/cfgdir

[root@solaris10:/opt/SUNWam/locale/]cp *.properties
/idmzone/idmzone/root/var/tmp/idminstall/cfgdir

[root@solaris10:/etc/opt/SUNWam/config]cp serverconfig.xml
/idmzone/idmzone/root/var/tmp/idminstall/cfgdir

[root@solaris10:/etc/opt/SUNWam/config]cp SSOConfig.properties
/idmzone/idmzone/root/var/tmp/idminstall/cfgdir

[root@solaris10:/etc/opt/SUNWam/config/ums/ums.xml]
/idmzone/idmzone/root/var/tmp/idminstall/cfgdir

3. 更改权限:

chmod a+r cfgdir/*.jar

4. 将 cfgdir/am_*.jar 文件复制到 $WSHOME/WEB-INF/lib 中。

[root@solaris10://idmzone/idmzone/root/var/tmp/idminstall/cfgdir]cp am_*.jar  

/var/tmp/idminstall/WEB-INF/lib

5. 将以下内容附加到 JAVA 类路径中,方法是:登录到应用服务器管理界面 (https://idmzone.sun.com:4849),选择 JVM Options(JVM 选项),然后单击 "PATH"

(请注意,JVM 表示 Java 平台的虚拟机或 Java 虚拟机。)

UNIX:cfgdir:cfgdir/am_sdk.jar:cfgdir/am_services.jar:cfgdir/am_logging.jar

图 3
(单击放大)

6. 通过从下拉菜单中选择 JVM settings(JVM 设置),将 waveset.home 路径添加到 JVM 选项中。

图 4
(单击放大)

-Dwaveset.home=/var/opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm

图 5
(单击放大)

7. 将 代码示例 4 中的文本添加到 server.policy 文件末尾(在本示例中,此文件位于以下位置):

[root@idmzone:/var/opt/SUNWappserver/domains/domain1/config]

8. 从安装目录中创建 war 文件:

[root@idmzone:/var/tmp/idminstall] jar cvf ../idm.war *

9. 使用以下命令行部署 idm.war 文件:

[root@idmzone:/var/tmp/]asadmin deploy --host localhost --port 4849 --target server

--contextroot /idm --user admin ./idm.war
Please enter password>

10. 现在应该部署 IdM 应用程序:

图 6
(单击放大)

停止并重新启动应用服务器:

[root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin stop-domain domain1

[root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin start-domain -user admin
domain1

11. 启动 Identity Manager,并从 http://idmzone.sun.com:8080/idm 导入 init.xml

/var/opt/SUNWappserver/domains/domain1/applications/j2ee-modules/idm/sample/init.xml

最后登录到 Identity Manager: http://idmzone.sun.com:8080/idm。缺省登录名为 configurator,口令为 configurator

2.2.3 安装 Identity Manager 6.0 Service Pack 1

解压缩 Service Pack。

确保安装文件是可执行文件:

chmod +x /var/tmp/idm/sp1/install

确保 /var/opt/sun/install 目录存在并且是可写的。

关闭应用服务器。

./asadmin stop-domain domain1

安装 Service Pack。

/var/tmp/idm/sp1/install

重新创建 idm.war 文件,并对其进行重新部署。

2.3 使用 Solaris 10 服务管理框架管理 Sun Java System Identity Manager

可以在 Solaris 操作系统中使用 SMF 来管理本文介绍的所有软件组件。为了实现此目标,请参见文章 Configuring Sun Java System Identity Manager as a Service for the Solaris 10 OS(将 Sun Java System Identity Manager 配置为 Solaris 10 操作系统服务)。


3.0 安装 Sun Java System Access Manager Policy Agent 2.2

1. 从 Sun.com 中下载 Agent 2.2,确切地说,是从以下位置下载: Sun Java System Access Manager Policy Agent 2.2 for Sun Java System Application Server 8.1(适用于 Sun Java System Application Server 8.1 的 Sun Java System Access Manager Policy Agent 2.2)。

2. 解压缩该代理。

3. 《Sun Java System Access Manager Policy Agent 2.2 Guide for Sun Java System Application Server 8.1》 (适用于 Sun Java System Application Server 8.1 的 Sun Java System Access Manager Policy Agent 2.2 指南)中提供了安装该代理的文档。

下面简要说明了安装过程:

1. 代理安装在全局区域的 Java System Application Server 实例中。请确保安装了 JDK 1.4.2,并且环境变量 JAVA_HOME 指向它。

[root@idmzone: /]export JAVA_HOME=/usr/java(指向 /usr/jdk/j2sdk1.4.2_08 的软链接)

2. 创建策略代理配置文件。

在 Access Manager 控制台中执行以下任务。此任务的关键步骤包括创建代理 ID 和代理口令。

1. 选择 Access Control(访问控制)选项卡后,单击要创建代理配置文件的领域的名称。

2. 选择 Subjects(主体)选项卡。

3. 选择 Agent(代理)选项卡。

  1. 单击 New(新建)。
  2. 输入以下字段的值:
  3. ID。输入代理的名称或标识。
    
    这是代理配置文件名称,它是代理用于
    登录到 Access Manager 的名称。不接受
    多字节名称。 Sjsappagent Password(口令)。输入代理口令。此口令不能
    与代理在 LDAP 验证期间使用的口令
    相同。
    Password (confirm)(口令(确认))。确认该口令。 sjspassword Device Status(设备状态)。选择该代理的设备状态。
    缺省状态为 Active(活动)。如果设置为 Active(活动),则代理
    能够通过 Access Manager 的验证并与其进行通信。
    如果设置为 Inactive(不活动),则代理将无法通过 Access Manager 的
    验证。
  4. 单击 Create(创建)。将显示代理列表。
  5. (可选)如果需要,请在新创建的代理配置文件中添加描述:
    1. 从代理列表中单击新创建的代理配置文件的名称。
    2. 在 Description(描述)字段中,输入代理的简短描述。例如,可以输入代理实例名称,或者输入它所保护的应用程序的名称。
    3. 单击 Save(保存)。

idmzone 的应用服务器实例中安装该代理。

1. 登录到 idmzone

2. 解压缩代理 gz,然后对其进行解包。

3. 使用上述主区域的代理配置文件中的口令创建一个口令文件: /var/tmp/agentpw

4. 运行安装 /policyaagent/bin/agentadmin --install(请参见 代理示例 5)。

5. 使用以下命令行部署 agentapp war 文件:

[root@idmzone:/var/tmp/sjsagent/j2ee_agents/am_as81_agent/etc/]asadmin deploy --

host localhost --port 4849 --target server --contextroot /agentapp --
user admin ./agentapp.war
Please enter password>

3.1 编辑 Access Manager Policy Agent 2.2 AMAgent 属性文件

编辑位于以下位置的 AMAgent.properties 文件:

/var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config

找到下面的三行并对其进行编辑,如下所示。注意:有几个条目都以 com.sun.identity 开头,因此,请确保编辑正确的条目。这些行还纠正了 Sun 文档中的一个错误:

com.sun.identity.agents.config.profile.attribute.fetch.mode = NONE

com.sun.identity.agents.config.profile.attribute.mapping[]
com.sun.identity.agents.config.session.attribute.fetch.mode = HTTP_HEADER
com.sun.identity.agents.config.session.attribute.mapping[Principal] = sois_user

修改位于 /var/tmp/idminstall/WEB-INF 中的 IdM web.xml 文件。

在继续修改这些描述符之前,请创建必要的备份。由于在下一步中将修改部署描述符,因此,此时创建备份文件是至关重要的。

编辑应用程序的 web.xml 描述符,如下所示:

代码示例 6 显示了一个 web.xml 样例描述符,并添加了 <filter><filter-mapping><dispatcher> 元素。此样例还纠正了 Sun 文档中的一个错误。

由于对 web.xml 进行了更改,因此,请取消部署 war 文件。

[root@idmzone]/var/tmp/]asadmin undeploy --user admin --target server idm

创建一个新的 war 文件。

[root@idmzone:/var/tmp/idminstall] jar cvf ../idm.war *

然后,重新部署新的 war 文件。

[root@idmzone:/var/tmp/]asadmin deploy --host localhost --port 4849 --target server

--contextroot /idm --user admin ./idm.war
Please enter password>

如果您尝试访问 Identity Manager URL (http://idmzone.sun.com:8080/idm),将会出现 "forbidden"(禁止)错误,因为尚未部署策略以允许访问。< /p>

3.2 暂时撤消 Identity Manager 应用程序保护

由于部署了策略代理,它将保护 Identity Manager 应用程序,从而您无法登录到 Identity Manager。因此,请按如下方式暂时撤消 Identity Manager 应用程序保护:

编辑位于以下位置的 AMAgent.properties 文件:

/var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config/AMAgent.properties

在此行末尾附加一个星号,如下所示:

com.sun.identity.agents.config.notenforced.uri[0] = *

(请注意,这将禁用所有保护,必须按照本文档第 5.2 部分中的说明对其进行重置。)

停止并重新启动应用服务器。

[root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin stop-domain domain1

[root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin start-domain -user admin domain1

4.0. 将 Sun Java System Access Manager 7 和 Sun Java System Identity Manager 6 集成在一起

4.1 配置 Access Manager 资源适配器

configurator 身份登录到 Identity Manager: http://idmzone.sun.com:8080/idm

转到 Configuration(配置)> Managed Resources(受管理的资源)

Custom Resources(自定义资源)部分中添加以下内容:

com.waveset.adapter.SunAccessManagerResourceAdapter

单击 Save(保存)。

按照常用步骤创建一个新的 Sun Java System Access Manager 资源;请确保正确设置标识模板。

填充 Access Manager 服务器参数,然后测试连接。

4.2 将管理员和最终用户置备到 Access Manager 中

4.2.1 创建具有所有权限的管理员用户

确保为该用户分配了 Sun Access Manager 资源、受控制的组织和所有权限。

使用 LDAPSearch 命令验证在 Identity Manager 工作流中是否创建了该用户。

# ldapsearch -h hsolaris10.sun.com -b dc=,dc=sun,dc=com -D "cn=Directory Manager"

uid="adminuser"
Enter bind password:
version: 1
dn: uid=adminuser,ou=People,dc=sun,dc=com
sn: User
cn: adminuser
uid: adminuser
iplanet-am-modifiable-by: cn=Top-level Admin Role,dc=sun,dc=com
givenName: Admin
objectClass: inetAdmin
objectClass: top
objectClass: iplanet-am-managed-person
objectClass: iplanet-am-user-service
objectClass: iPlanetPreferences
objectClass: person
objectClass: organizationalPerson
objectClass: inetuser
objectClass: inetOrgPerson
inetUserStatus: Active
userPassword: {SSHA}oCG/EaVawHPSAgWZE9K/DUldTWyMVL4U9RCAaQ==
#

4.2.2 创建最终用户

按照上述用于管理员用户的步骤创建一个最终用户。确保为该用户分配了 Sun Access Manager 资源,但不分配受控制的组织和权限。

使用 LDAPSearch 验证在 Identity Manager 工作流中是否创建了该用户。

# ldapsearch -h solaris10.sun.com -b dc=dc=sun,dc=com -D "cn=Directory Manager"

uid="enduser"
Enter bind password:
version: 1
dn: uid=enduser,ou=People,dc=sun,dc=com
sn: User
cn: enduser
uid: enduser
iplanet-am-modifiable-by: cn=Top-level Admin Role,dc=sun,dc=com
givenName: End
objectClass: inetAdmin
objectClass: top
objectClass: iplanet-am-managed-person
objectClass: iplanet-am-user-service
objectClass: iPlanetPreferences
objectClass: person
objectClass: organizationalPerson
objectClass: inetuser
objectClass: inetOrgPerson
inetUserStatus: Active
userPassword: {SSHA}7bTT6Ukp0oIAcaHSMQquHLs0Z0EUG0EVYn/MKQ==

现在已创建了 AdminUserEndUser

图 7
(单击放大)

4.3 配置 Access Manager 登录模块

(如果尚未安装 Identity Manager 6.0 Service Pack 1,请参见第 8 部分以了解故障解决方法。)

IdM 菜单中:

  • 单击 Configure(配置)。
  • 单击 Login(登录)。
  • 单击 Login Module Groups(登录模块组)。
  • 单击 New(新建)。
  • 输入名称 "Sun Java Access Manager",然后从 "Assign Login Module"(分配登录模块)选择列表中选择 "Access Manager"。
  • 单击 Save(保存)。

图 8
(单击放大)

4.4 配置传递验证

单击 Configure(配置)。

单击 Login(登录)。

执行以下步骤以创建一个新的登录模块组。

  • 单击 Manage Login Module Groups(管理登录模块组)按钮。
  • 单击 New(新建)。
  • 按如下方式填写 Login Module Group(登录模块组)表单:
  • Login Module Group Name(登录模块组名称):Sun Java Access Manager
    
    Assign Login Module(分配登录模块):Sun Access Manager
  • 将会刷新该页面,您可以从资源列表中进行选择。
  • 从 Select(选择)下拉列表中选择 Sun Access Manager 资源。
  • 选择 Access Manager 时,该页面将变为 Modify Login Module(修改登录模块)页。
  • Login display name(登录显示名称):Access Manager
    
    Login success requirement(登录成功要求):sufficient(足够)
  • 单击 Save(保存)。

按如下方式继续填写该表单:

Assign Login Module(分配登录模块):Identity System User ID/Password Login Module(标识系统用户 ID/口令登录模块)

选择此选项时,该页面将变为 Modify Login Module(修改登录模块)页。

按如下方式更新 Modify Login Module(修改登录模块)表单:

Login display name(登录显示名称):Lighthouse

Login success requirement(登录成功要求):sufficient(足够)

单击 Save(保存)。

单击 Save(保存)按钮以完成模块定义。

单击 Return to Login Applications(返回到登录应用程序)按钮以返回到 Login Applications(登录应用程序)页。

单击 User Interface(用户界面)链接。

  • 从 Assign Login Module Group(分配登录模块组)下拉列表中选择 "Sun Access Manager"。
  • 选中 Default Identity System ID/Pwd Login Module Group(缺省标识系统 ID/口令登录模块组)旁边的复选框并单击 Delete(删除)按 钮以删除该项目。
  • 单击 Save(保存)以保存所做的更改,然后返回到 Login Applications(登录应用程序)页。
  • 确保现在可以在 User Interface(用户界面)选项的 Login Module Groups(登录模块组)列中看到 Access Manager 登录模块。

对于 Administrative Interface(管理界面)重复相同的步骤。

4.5 创建用于 Identity Manager 的 Access Manager 策略

登录到 AM 管理控制台: http://solaris10.sun.com:8080/amserver/

选择领域。

选择 Subjects(主体)。

选择 Role(角色)。

为 IDM 管理员创建一个新角色:

  1. 单击 New...(新建...)。
  2. 输入 IDM_Admin 作为 ID。
  3. 单击 Create(创建)。
  4. 将使用 Identity Manager 创建的 AdminUser 添加到角色中。

为 IDM 最终用户创建一个新角色:

  1. 单击 New...(新建...)。
  2. 输入 IDM_User 作为 ID。
  3. 单击 Create(创建)。

转到 Access Control(访问控制)> Policies(策略)。

  1. 为 IDM 管理页创建一个策略:
    1. 单击 New Policy...(新建策略...)。
    2. 输入 IDM_ADMIN。
    3. 输入新规则:
      1. 转到 Rules(规则)。
      2. 单击 New...(新建...)。
      3. 选择 URL Policy Agent (with resource name)(URL 策略代理(带有资源名称))。
      4. 单击 Next(下一步)。
      5. 输入 IDM_ADMIN_RULE 作为名称。
      6. 输入 *://idmzone.sun.com:8080/idm* 作为资源名称。
      7. 允许 GETPOST
      8. 单击 Finish(完成)。
    4. 输入一个新主体:
      1. 转到 Subjects(主体)。
      2. 单击 New...(新建...)。
      3. 选择 Access Manager Roles(Access Manager 角色)。
      4. 单击 Next(下一步)。
      5. 输入 IDM_Admins 作为名称。
      6. 选择 > com> sun > IDM_Admin,然后单击 Add(添加)。
      7. 单击 Finish(完成)。
    5. 单击 Create(创建)。
  2. 为 IDM 最终用户页创建一个策略:
    1. 单击 New Policy...(新建策略...)。
    2. 输入 IDM_USER
    3. 为帮助页输入一个新规则:
      1. 转到 Rules(规则)。
      2. 单击 "New..."(新建...)。
      3. 选择 URL Policy Agent (with resource name)(URL 策略代理(带有资源名称))。
      4. 单击 Next(下一步)。
      5. 输入 IDM_UserHelpfile 作为名称。
      6. 输入 *://idmzone.sun.com:8080/*/includes/helpServer.jsp* 作为资源名称。
      7. 允许 GET
      8. 单击 Finish(完成)。
    4. 为图像输入一个新规则:
      1. 转到 Rules(规则)。
      2. 单击 "New..."(新建...)。
      3. 选择 URL Policy Agent (with resource name)(URL 策略代理(带有资源名称))。
      4. 单击 Next(下一步)。
      5. 输入 IDM_UserImages 作为名称。
      6. 输入 *://idmzone.sun.com:8080/*/images/* 作为资源名称。
      7. 允许 GET
      8. 单击 Finish(完成)。
    5. 为样式表输入一个新规则:
      1. 转到 Rules(规则)。
      2. 单击 New...(新建...)。
      3. 选择 URL Policy Agent (with resource name)(URL 策略代理(带有资源名称))。
      4. 单击 Next(下一步)。
      5. 输入 IDM_UserStyles 作为名称。
      6. 输入 *://idmzone.sun.com:8080:/*/styles/* 作为资源名称。
      7. 允许 GET
      8. 单击 Finish(完成)。
    6. 为最终用户页输入一个新规则:
      1. 转到 Rules(规则)。
      2. 单击 New...(新建...)。
      3. 选择 URL Policy Agent (with resource name)(URL 策略代理(带有资源名称))。
      4. 单击 Next(下一步)。
      5. 输入 IDM_UserPages 作为名称。
      6. 输入 *://idmzone.sun.com:8080:/user/* 作为资源名称。
      7. 允许 GETPOST
      8. 单击 Finish(完成)。
    7. 输入一个新主体:
      1. 转到 Subjects(主体)。
      2. 单击 New...(新建...)。
      3. 选择 Access Manager Roles(Access Manager 角色)。
      4. 单击 Next(下一步)。
      5. 输入 IDM_Users 作为名称。
      6. 选择 com > sun > IDM_USER,然后单击 Add(添加)。
      7. 单击 Finish(完成)。
      8. 单击 Create(创建)。
    8. 像 Admin 用户/角色一样,将 EndUser 添加到角色中。

5.0 登录和注销 Identity Manager

5.1 配置 Identity Manager 注销

从 Identity Manager 注销时,将返回到 Identity Manager 登录屏幕。在本文档的方案中,最好执行以下操作:

  • 返回到 Access Manager 登录屏幕。
  • 终止 Access Manager 会话。

要实现此目标,请修改 Identity Manager 注销实现,以便其重定向到 Access Manager 注销。对于标准的 Identity Manager 安装,此操作将调用以下文件:< /p>

1. 管理界面: logout.jsp(位于 Identity Manager 基本目录 /var/opt/idm 中)

更改以下行:

response.sendRedirect(p.encodeRedirectURL(url));

使其如下所示:

response.sendRedirect(p.encodeRedirectURL("http://solaris10.sun.com:8080/amse

rver/UI/Logout"));

2. 用户界面: userLogout.jsp(位于 /var/opt/idm/user/ 中)

执行与上面相同的更改。

现在,按照上述说明重新创建并重新部署 idm.war 文件。

3. 删除 Access Manager Cookie。

按如下方式编辑位于 /var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config/ 中的 AMAgent.properties

com.sun.identity.agents.config.cookie.reset.enable = true com.sun.identity.agents.config.cookie.reset.name[0] = AMAuthCookie com.sun.identity.agents.config.cookie.reset.domain[0] = .sun.com com.sun.identity.agents.config.cookie.reset.path[0] =/ com.sun.identity.agents.config.cookie.reset.name[1] = iPlanetDirectoryPro com.sun.identity.agents.config.cookie.reset.domain[1] = .sun.com com.sun.identity.agents.config.cookie.reset.path[1] =/

5.2 重新启用策略代理的策略安全和登录

在第 3.2 部分中,策略代理被配置为不保护任何应用程序。因此,现在应将策略代理配置为保护所有应用程序。

编辑位于以下位置中的 AMGagent.properties 文件:

/var/tmp/sjsagent/j2ee_agents/am_as81_agent/agent_001/config/AMAgent.properties

删除此行末尾的星号,如下所示:

com.sun.identity.agents.config.notenforced.uri[0] =

停止并重新启动应用服务器。

[root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin stop-domain domain1

[root@idmzone:/opt/SUNWappserver/appserver/bin] ./asadmin start-domain -user admin
domain1

现在,您应该能够登录到管理界面 (http://idmzone.sun.com:8080/idm) 和最终用户界面 (http://idmzone.sun.com:8080/idm/user)。


6.0 故障排除

6.1 查找日志文件

Access Manager:

  • AM 日志文件: /var/opt/SUNWam/logs/
  • AM 调试文件: /var/opt/SUNWam/debug/

Identity Manager 服务器:

  • Policy Agent 调试文件: /opt/j2ee_agents/am_as81_agent/agent_001/logs/debug/
  • Identity Manager 调试文件: /var/opt/SUNWappserver/domains/domain1/logs/server.log

6.2 测试连接

Ping 主机。

执行 telnet <server> <port>

作为 SSL Server 测试证书的有效性:

localhost$ certutil -V -d /var/opt/SUNWappserver/domains/domain1/config/ -n "s1as" -u 'V'

6.3 在管理应用服务器时查看日志文件

使用 ./asadmin start-domain domain1 --user admin 启动应用服务器时,请 启动另一个 telnet 会话,并使用 tail 命令监视日志文件,然后实时查看条目以查找错误:

tail -f /var/opt/SUNWappserver/domains/domain1/logs/server.log

6.4 策略代理错误

在安装策略代理后访问 Identity Manager 时,如果 Web 浏览器中显示以下内容,应确保严格按照第 2.2 部分中的步骤进行操作。

图 9
(单击放大)

在安装代理之前,您需要关闭应用服务器,创建 cfgdir,然后复制这些文件。另外,包含代理配置文件的文件中的口令应该与用于安装代理的口令完全相同,这一点至关重要。

1. 取消部署 agentapp

2. 运行 ./agentadmin --uninstall

3. 运行 ./asadmin stop-domain

4. 运行 ./agentadmin --install

5. 运行 ./asadmin start-domain,并将 agentapp 部署到相应的实例上。