Sun Java System Access Manager 7 2005Q4 发行说明

已知问题和限制

此部分描述了此版本发布时的已知问题及其解决方法(如果可用)。

兼容性问题

Java ES 2004Q2 服务器与 Java ES 2005Q4 上的 IM 不兼容 (6309082)

以下部署方案导致产生了这个问题:

运行 imconfig 实用程序以配置 server-4 上的 Instant Messaging 时,配置不成功。Instant Messaging (IM) 在 server-4 上使用的 Access Manager 7 2005Q4 SDK 与 Java ES 2004Q2 版本不兼容。

解决方法:理想情况下,Access Manager 服务器和 Access Manager SDK 应为同一版本。有关详细信息,参见《Sun Java Enterprise System 2005Q4 升级指南》

传统模式与核心验证模块存在不兼容性 (6305840)

Access Manager 7 2005Q4 传统模式在 Access Manager 6 2005Q1 版本核心验证模块中存在以下不兼容性:

解决方法:无。

代理无法登录,因为“组织中没有配置文件” (6295074)

在 Access Manager 控制台中,在领域模式下创建一个代理。如果注销后再使用该代理名称登录,则 Access Manager 将返回一个错误,因为该代理不具有访问领域的权限。

解决方法:修改权限以允许代理的读/写访问。

Delegated Administrator commadmin 实用程序不创建用户 (6294603)

带有 -S mail,cal 选项的 Delegated Administrator commadmin 实用程序不会在默认域内创建用户。

解决方法:如果只将 Access Manager 升级至版本 7 2005Q4,而未升级 Delegated Administrator,则会出现此问题。有关升级 Delegated Administrator 的信息,参见《Sun Java Enterprise System 2005Q4 升级指南》

如果不准备升级 Delegated Administrator,则按以下步骤操作:

  1. UserCalendarService.xml 文件中,将 mailicssubcribedicsfirstday 属性标记为可选而非必需。默认情况下,该文件位于 Solaris 系统的 /opt/SUNWcomm/lib/services/ 目录下。

  2. 在 Access Manager 中,通过运行 amadmin 命令删除现有 XML 文件,如下所示:

    # ./amadmin -u amadmin -w password -r UserCalendarService
  3. 在 Access Manager 中,添加更新的 XML 文件,如下所示:

    # ./amadmin -u amadmin -w password 
    -s /opt/SUNWcomm/lib/services/UserCalendarService.xml
  4. 重新启动 Access Manager Web 容器。

Delegated Administrator commadmin 实用程序不创建组织 (6292104)

带有 -S mail,cal 选项的 Delegated Administrator commadmin 实用程序不创建组织。

解决方法:参见上一问题的解决方法。

安装问题

应用修补程序 1 后,/tmp/amsilent 文件将允许所有用户进行读取操作 (6370691)

应用修补程序 1 后,/tmp/amsilent 文件允许所有用户进行读取操作。

解决方法:应用修补程序后,重置文件权限,仅允许 Access Manager 管理员拥有读取权限。

在使用容器配置安装的 SDK 上,通知 URL 不正确 (6327845)

如果使用容器配置 (DEPLOY_LEVEL=4) 来执行 SDK 安装,则通知 URL 不正确。

解决方法:

  1. AMConfig.properties 文件中设置以下属性:

    com.iplanet.am.notification.url=
    protocol://fqdn:port/amserver/servlet/com.iplanet.services.comm.client.
    PLLNotificationServlet
  2. 重新启动 Access Manager 以使新值生效。

Access Manager classpath 引用了过期的 JCE 1.2.1 软件包 (6297949)

Access Manager classpath 引用了已在 2005 年 7 月 27 日过期的 Java 加密扩展(Java Cryptography Extension,JCE)1.2.1 软件包(签发证书)。

解决方法:无。虽然在 classpath 中存在该软件包引用条目,但 Access Manager 并不使用该软件包。

在现有 DIT 上安装 Access Manager 需重建 Directory Server 索引 (6268096)

要提高搜索性能,Directory Server 需拥有多个新的索引。

解决方法:使用现有目录信息树 (DIT) 完成对 Access Manager 的安装后,运行 db2index.pl 脚本以重建 Directory Server 索引。例如:

# ./db2index.pl -D "cn=Directory Manager" -w password -n userRoot

db2index.pl 脚本位于 DS-install-directory/slapd-hostname/ 目录下。

非超级用户的日志和调试目录权限不正确 (6257161)

在无提示安装配置文件中指定非超级用户时,对调试、日志以及启动目录的权限设置不正确。

解决方法:更改这些目录的权限以允许非超级用户进行访问。

在单独的机器上安装 Access Manager 和 Directory Server 时,没有初始化验证服务 (6229897)

虽然 classpath 和其他 Access Manager web 容器环境变量已在安装期间进行了更新,但安装过程仍未重新启动 Web 容器。如果尝试在已安装 Access Manager 但尚未重新启动 Web 容器的情况下进行登录,则将返回以下错误:

未初始化验证服务。请与您的系统管理员联系。

解决方法:登录 Access Manager 前重新启动 Web 容器。登录前还必须运行 Directory Server。

安装程序不为现在安装的目录添加平台条目 (6202902)

Java ES 安装程序不为现在安装的目录服务器 (DIRECTORY_MODE=2) 添加平台条目。

解决方法:手动添加领域/DNS 别名和平台服务器列表条目。有关详细步骤,参见《Sun Java System Access Manager 7 2005Q4 Deployment Planning Guide 》中的“Adding Additional Instances to the Platform Server List and Realm/DNS Aliases”

升级问题

Access Manager ampre70upgrade 脚本不会删除本地化软件包 (6378444)

将 Access Manager 升级到 Access Manager 7 2005Q4 时,ampre70upgrade 脚本并不会删除系统上的任何 Access Manager 本地化软件包。

解决方法:在升级到 Access Manager 7 2005Q4 之前,使用 pkgrm 命令手动删除系统上已安装的所有 Access Manager 本地化软件包。

AMConfig.properties 文件中的 Web 容器为旧版本 (6316833)

将 Access Manager 和 Application Server 升级至 Java ES 2005Q4 版本后,Access Manager 的 AMConfig.properties 文件中的 Application Server 为旧版本。

解决方法:运行 Delegated Administrator 配置程序 (config-commda) 前,更改 AMConfig.properties 文件中的以下属性:

com.sun.identity.Webcontainer=IAS8.1

节点代理 server.policy 文件未随 Access Manager 升级而更新 (6313416)

Access Manager 升级完成后,节点代理的 server.policy 文件未更新。

解决方法:将节点代理的 server.policy 文件替换为以下文件:

/var/opt/SUNWappserver/domains/domain1/config/server.policy

升级完成后,“条件”列表中缺少“会话属性条件”(6309785)

将 Access Manager 由版本 2005Q1 升级至版本 2005Q4 后,如果尝试将“条件”添加至策略,则“策略条件”列表未将“会话属性条件”显示为一个选项。

解决方法:在相应领域中选择策略配置服务模板中的“会话属性条件”类型。

升级完成后,策略主题列表中缺少“身份主题”类型 (6304617)

将 Access Manager 由版本 2005Q1 升级至版本 2005Q4 后,在策略主题列表中未将最新添加的“身份主题”策略主题类型显示为一个选项。

解决方法:在策略配置服务模板中将“身份主题”类型选择为默认主题类型。

Access Manager 升级因 classpath 未迁移而失败 (6284595)

Access Manager 在从 Java ES 2004Q2 升级至 Java ES 2005Q4 期间,从 Java ES 2004Q2 升级至 Java ES 2005Q1 失败。Access Manager 部署于 Application Server 上,也从 Java ES 2004Q2 升级到了 Java ES 2005Q4。domain.xml 文件中的 classpath 没有 Access Manager JAR 文件路径。

解决方法:请按照以下步骤进行操作:

  1. 运行 amupgrade 脚本之前,重新建立 Directory Server 的索引,因为 comm_dssetup.pl 脚本存在问题。

  2. 将 Access Manager 的条目添加至节点代理的 server.policy 文件。默认服务器策略 (/var/opt/SUNWappserver/domains/domain1/config/server.policy ) 的 server.policy 文件副本就已足够。

  3. 按如下方式更新节点代理 domain.xml 文件中的 classpath。将 classpath-suffix 和相关的 classpath server.xml 文件 java-config 元素的 server-classpath 属性复制到 domain.xml 文件 java-config 元素的相应属性中。java-config 元素可在 domain.xmlconfig 元素下找到。

升级完成后,amadmin 命令返回了错误的版本 (6283758)

在将 Access Manager 由版本 6 2005Q1 升级至版本 7 2005Q4 后,amadmin --version 命令返回了错误的版本:Sun Java System Access Manager 版本 2005Q1。

解决方法:升级 Access Manager 后,运行 amconfig 脚本以配置 Access Manager。运行 amconfig 时,指定配置 (amsamplesilent) 文件的完整路径。例如,在 Solaris 系统上:

# ./amconfig -s ./config-file

# ./amconfig -s /opt/SUNWam/bin/config-file

数据迁移后添加 ContainerDefaultTemplateRole 属性 (4677779)

不是在 Access Manager 中创建的组织下面未显示用户的角色。在调试模式下将显示以下消息:

错误:DesktopServlet.handleException()
com.iplanet.portalserver.desktop.DesktopException:
DesktopServlet.doGetPost(): no privilige to execute desktop

此错误在运行 Java ES 安装程序迁移脚本后变得更加明显。ContainerDefaultTemplateRole 属性未被自动添加到从现有目录信息树 (DIT) 或其他来源迁移而来的组织中。

解决方法:使用 Directory Server 控制台从另一 Access Manager 组织中复制 ContainerDefaultTemplateRole 属性,然后将其添加到受影响的组织中。

配置问题

使用非默认的 URI 时,必须编辑 Application Server 8.1 的 server.policy 文件 (6309759)

如果在 Application Server 8.1 上部署 Access Manager 7 2005Q4,并且使用了服务、控制台和密码 Web 应用程序的非默认 URI,其默认 URI 值分别为 amserveramconsoleampassword,则在尝试通过 Web 浏览器访问 Access Manager 前,必须编辑应用服务器域的 server.policy 文件。

解决方法:按如下操作编辑 server.policy 文件:

  1. 停止部署 Access Manager 的 Application Server 实例。

  2. 更改为 /config 目录。例如:

    cd /var/opt/SUNWappserver/domains/domain1/config
  3. 生成 server.policy 文件的副本。例如:

    cp server.policy server.policy.orig 
  4. server.policy 文件中,查找以下策略:

    grant codeBase "file:\${com.sun.aas.instanceRoot}/
    applications/j2ee-modules/amserver/-" { ... 
    };
    grant codeBase "file:\${com.sun.aas.instanceRoot}/
    applications/j2ee-modules/amconsole/-" { ...
    };
    grant codeBase "file:\${com.sun.aas.instanceRoot}/
    applications/j2ee-modules/ampassword/-" { ...
    };  
  5. 在以下行中,将 amserver 替换为服务 Web 应用程序的非默认 URI:

    grant codeBase "file:\${com.sun.aas.instanceRoot}/
    applications/j2ee-modules/amserver/-" {  
  6. 对于传统模式安装,则将以下行中的 amconsole 替换为控制台 Web 应用程序的非默认 URI:

    grant codeBase "file:\${com.sun.aas.instanceRoot}/
    applications/j2ee-modules/amconsole/-" {  
  7. 将以下行中的 ampassword 替换为密码 Web 应用程序的非默认 URI:

    grant codeBase "file:\${com.sun.aas.instanceRoot}/
    applications/j2ee-modules/ampassword/-" {  
  8. 启动部署 Access Manager 的 Application Server 实例。

平台服务器列表和 FQDN 别名属性未更新 (6309259, 6308649)

在多服务器部署中,如果将 Access Manager 安装在第二台服务器(及随后的服务器)上,则不会更新平台服务器列表和 FQDN 别名属性。

解决方法:手动添加领域/DNS 别名和平台服务器列表条目。有关详细步骤,参见《Sun Java System Access Manager 7 2005Q4 Deployment Planning Guide 》中的“Adding Additional Instances to the Platform Server List and Realm/DNS Aliases”

服务中的必需属性要求验证数据 (6308653)

Access Manager 7 2005Q4 强制要求 XML 文件中的必需属性使用默认值。

解决方法:如果服务的必需属性没有值,则为该属性添加值,然后重新装入服务。

在安全的 WebLogic 8.1 实例上的部署解决方法 (6295863)

如果将 Access Manager 7 2005Q4 部署至安全的(启用了 SSL)BEA WebLogic 8.1 SP4 实例内,则在部署每个 Access Manager Web 应用程序期间将出现异常。

解决方法:请按照以下步骤进行操作:

  1. 应用 WebLogic 8.1 SP4 修补程序 JAR CR210310_81sp4.jar ,此文件可从 BEA 中得到。

  2. /opt/SUNWam/bin/amwl81config 脚本(Solaris 系统)或 /opt/sun/identity/bin/amwl81config 脚本 (Linux 系统)中,通过更新 doDeploy 函数和 undeploy_it 函数,将修补程序 JAR 的路径置于 wl8_classpath 变量前,此变量包含用于部署和解除部署 Access Manager web 应用程序的 classpath

    找到以下包含 wl8_classpath 的行:

    wl8_classpath= ...
  3. 找到步骤 2 中所述的行后,直接在其后添加以下行:

    wl8_classpath=path-to-CR210310_81sp4.jar:$wl8_classpath

amconfig 脚本不更新领域/DNS 别名和平台服务器列表条目 (6284161)

在多服务器部署中,amconfig 脚本不更新附加 Access Manager 实例的领域/DNS 别名和平台服务器列表条目。

解决方法:手动添加领域/DNS 别名和平台服务器列表条目。有关详细步骤,参见《Sun Java System Access Manager 7 2005Q4 Deployment Planning Guide 》中的“Adding Additional Instances to the Platform Server List and Realm/DNS Aliases”

在配置状态文件模板中,默认的 Access Manager 模式为领域 (6280844)

默认情况下,在配置状态文件模板中 Access Manager 模式 (AM_REALM 变量)为启用。

解决方法:要在传统模式下安装或配置 Access Manager,重置状态文件中的以下变量:

AM_REALM = disabled

在 IBM WebSphere 中使用 RSA 密钥时,URL 签名失败 (6271087)

在 IBM WebSphere 中使用 RSA 密钥时,URL 字符串签名失败并抛出以下异常:

错误:FSSignatureUtil.signAndReturnQueryString:签署查询字符串时发生 FSSignatureException:无此提供者:SunRsaSign

解决方法:WebSphere 绑定的 JDK 中缺少“SunRsaSign”提供者。要修复此问题,请编辑 websphere_jdk_root/jre/lib/security/java.security 文件,并添加以下行以启用 "SunRsaSign" 作为提供者之一:

security.provider.6=com.sun.rsajca.Provider

Access Manager 控制台问题

对于 SAML,在控制台中复制“可信赖的伙伴”时出现错误 (6326634)

在 Access Manager 控制台中,在“联合”>“SAML”选项卡下创建 SAML 可信赖的伙伴。如果尝试复制“可信赖的伙伴”,则出现错误。

解决方法:无。此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

amConsole.accessamPasswordReset.access 无法使用远程日志记录 (6311786)

配置远程记录后,除密码重置信息的 amConsole.accessamPasswordReset.access 之外,所有日志都可写入远程 Access Manager 实例。未在任何地方写入其日志记录。

解决方法:无。

在控制台中添加更多 amadmin 属性将更改 amadmin 用户密码 (6309830)

在管理控制台中添加或编辑 amadmin 用户的某些属性将导致 amadmin 用户密码更改。

解决方法:无。此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

新的 Access Manager 控制台无法设置 CoS 模板优先级 (6309262)

新的 Access Manager 7 2005Q4 控制台无法设置或修改“服务级别”(Class of Service, CoS) 模板优先级。

解决方法:登录到 Access Manager 6 2005Q1 控制台以设置或修改 CoS 模板优先级。

将组作为策略管理用户添加到用户时出现异常 (6299543)

将组作为策略管理用户添加到用户时,Access Manager 控制台将返回异常错误。

解决方法:无。

传统模式下,无法删除角色中的所有用户 (6293758)

在传统模式下,如果尝试从角色中删除所有用户,则会保留一个用户。

解决方法:再次从角色中删除该用户。

无法添加、删除或修改搜索服务资源提供 (6273148)

Access Manager 管理控制台不允许添加、删除或修改用户、角色或领域的资源提供。

解决方法:无。此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

在主题搜索中,错误的 LDAP 绑定密码应返回错误消息 (6241241)

Access Manager 管理控制台在使用错误的 LDAP 绑定密码时没有返回错误消息。

解决方法:无。

传统模式下,Access Manager 无法在容器下创建组织 (6290720)

如果创建了容器,然后尝试在容器下创建组织,则 Access Manager 将返回一个“唯一性违规错误”。

解决方法:无。

添加 Portal Server 相关服务时出现旧版本的控制台 (6293299)

Portal Server 和 Access Manager 安装于同一台服务器上。在传统模式下安装 Access Manager 后,使用 /amserver 登录到新的 Access Manager 控制台。如果选择了现有用户,然后尝试添加服务(如 NetFile 或 Netlet),旧的 Access Manager 控制台 (/amconsle) 会突然出现。

解决方法:无。当前版本的 Portal Server 需要使用 Access Manager 6 2005Q1 控制台。

达到资源限额后,控制台不返回 Directory Server 设定的结果 (6239724)

首先安装 Directory Server,然后使用现有 DIT 选项安装 Access Manager。登录到 Access Manager 控制台,然后创建组。编辑组中的用户。例如,使用过滤器 uid=*999* 添加用户。最终的列表框为空,并且控制台不显示任何错误、信息或警告消息。

解决方法:组成员资格不得大于 Directory Server 搜索大小限制。如果组成员资格较大,则相应更改搜索大小限制。

SDK 和客户机问题

无法删除子领域的会话服务配置 (6318296)

在创建顶层领域的子领域并为其添加会话服务后,随后尝试删除“会话服务”配置将导致显示错误消息。

解决方法:移除默认的顶层 ID 库 AMSDK1,然后将此库添加回配置中。

此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

指定策略条件时,CDC servlet 重定向到的登录页面无效 (6311985)

在 CDSSO 模式下使用 Apache 代理 2.2 时,CDC servlet 将在访问代理受保护的资源时将用户重定向至匿名验证页面,而非默认的登录页面。

解决方法:无。此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

重新启动服务器后,客户机没有收到通知 (6309161)

如果重新启动服务器,则使用客户机 SDK (amclientsdk.jar) 编写的应用程序不会收到通知。

解决方法:无。

需要在服务器模式更改后重新启动 SDK 客户机 (6292616)

修改任意服务模式后,ServiceSchema.getGlobalSchema 将返回旧模式而非新模式。

解决方法:更改服务模式后,重新启动客户机。

此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

命令行实用程序问题

当 Access Manager 指向 Directory Proxy 时,空属性 LDAP 搜索返回错误 (6357975)

如果使用 Sun Java System Directory Proxy Server,空属性 LDAP 搜索会返回错误。例如:

# ldapsearch -b base-dn uid=user ""

如果 Access Manager 直接指向 LDAP 目录服务器,同样的搜索就会成功。

解决方法:如果使用 Directory Proxy Server,则启用空属性搜索或提供搜索的属性名称。

amserveradmin 脚本缺少新的模式文件 (6255110)

安装完成后,在需要运行 amserveradmin 脚本以加载服务至 Directory Server 时,该脚本缺少 defaultDelegationPolicies.xml idRepoDefaults.xml 模式文件。

解决方法:使用带有 -t 选项的 amadmin CLI 工具手动加载 defaultDelegationPolicies.xmlidRepoDefaults.xml 文件。

无法在 Internet Explorer 6.0 中保存包含转义符的 XML 文档 (4995100)

如果在 XML 文件中添加特殊字符(如在 “&” 旁添加字符串 “amp;”),可正常保存文件;但在稍后使用 Internet Explorer 6.0 检索 XML 配置文件时,该文件无法正常显示。如果再次尝试保存配置文件,则返回错误。

解决方法:无。

验证问题

UrlAccessAgent SSO 令牌即将过期 (6327691)

UrlAccessAgent SSO 令牌即将过期,因为应用程序模块未返回特定用户 DN,从而导致特定用户 DN 匹配,进而使得没有过期的令牌失效。

解决方法:无。此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

更正密码后无法登录到带有 LDAPV3 插件/动态配置文件的子领域 (6309097)

在领域模式下,如果在领域中使用“不正确的”密码来创建 ldapv3 数据存储库,并在稍后将密码更改为 amadmin,则在使用已更改的密码再次尝试登录时,登录将失败,并且系统提示配置文件不存在。

解决方法:无。

传统(兼容)模式下,Access Manager 统计信息服务的默认配置不兼容 (6286628)

在传统模式下安装 Access Manager 后,已更改统计信息服务的默认配置。

解决方法:无。

顶层组织在命名属性时违反了属性唯一性 (6204537)

Access Manager 安装完成后,以 amadmin 身份登录并将 osunPreferredDomainassociatedDomainsunOrganizationAliasuidmail 属性添加到“唯一属性列表”中。使用同一名称创建两个新组织会导致操作失败,但 Access Manager 将显示“组织已存在”消息而非预期的“违反了属性唯一性”消息。

解决方法:无。忽略不正确的消息。Access Manager 工作正常。

会话与 SSO 问题

跨时区的 Access Manager 实例使得其他用户会话超时 (6323639)

跨不同时区安装、并在同一信任圈中的 Access Manager 实例会导致会话超时。

会话故障转移 (amsfoconfig) 脚本在 Linux 2.1 系统上的权限不正确 (6298433)

会话故障转移配置脚本 (/opt/sun/identity/bin/amsfoconfig ) 在 Linux 2.1 系统上拥有不正确的权限且无法执行。

解决方法:更改权限以使 amsfoconfig 脚本可执行(例如,755)。

此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

会话故障转移 (amsfoconfig) 脚本在 Linux 2.1 系统上失败 (6298462)

会话故障转移配置脚本 (amsfoconfig) 在 Linux 2.1 服务器上失败是由于对制表符 (\t) 的解释不正确。

解决方法:手动配置会话故障转移。有关详细步骤,参见《Sun Java System Access Manager 7 2005Q4 Deployment Planning Guide》中的“Configuring Session Failover Manually”

此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

负载平衡器终止 SSL 时,系统创建的服务主机名无效 (6245660)

如果 Access Manager 与 Web Server(作为 Web 容器)共同部署,并且负载平衡器终止了 SSL,则客户机将被导向至错误的 Web Server 页面。单击 Access Manager 控制台中的“会话”选项卡将返回一个错误,因为主机是无效的。

解决方法:在下例中,Web Server 将侦听 3030 端口。负载平衡器则侦听 80 端口并将请求重定向至 Web Server。

Web-server-instance-name/config/server.xml 文件中,编辑 servername 属性以指向负载平衡器,具体操作取决于正在使用的 Web Server 版本。

对于 Web Server 6.1 Service Pack (SP) 版本,按如下所示编辑 servername 属性:

<LS id="ls1" port="3030" servername="loadbalancer.example.com:80" 
defaultvs="https-sample" security="false" ip="any" blocking="false" 
acceptorthreads="1"/>

Web Server 6.1 SP2(或更高版本)可将 http 协议转换为 https 协议,或是将 https 转换为 http 协议。因此,按如下所示编辑 servername

<LS id="ls1" port="3030" 
servername="https://loadbalancer.example.com:443" defaultvs="https-sample" 
security="false" ip="any" blocking="false" acceptorthreads="1"/>

通过第三方 Web 容器使用 HttpSession(无 CR 编号)

维持验证会话的默认方法是“内部会话”而非 HttpSession。默认无效会话最大时间为三分钟便已足够。amtune 脚本将 Web Server 或 Application Server 的默认无效会话最大时间设置为一分钟。但是,如果您正在使用第三方的 Web 容器(IBM WebSphere 或 BEA WebLogic Server)和可选的 HttpSession,则可能需要限制 Web 容器的最大 HttpSession 时间限制以避免出现性能问题。

策略问题

删除“策略配置服务”中的动态属性将导致策略编辑出现问题 (6299074)

在下述方案中,删除“策略配置服务”中的动态属性将导致策略编辑出现问题:

  1. 在“策略配置服务”中创建两个动态属性。

  2. 创建一个策略,然后在响应提供者中选择动态属性(来自步骤 1)。

  3. 删除“策略配置服务”中的动态属性,然后再创建两个属性。

  4. 尝试编辑在步骤 2 中创建的策略。

结果为:“错误:设置的动态属性无效。”默认情况下,列表中不会显示任何策略。搜索完成后将显示策略,但无法编辑或删除现有的策略,也不能创建新的策略。

解决方法:在从“策略配置服务”中删除动态属性前,先从策略中删除这些属性的引用条目。

服务器启动问题

Access Manager 启动时出现调试错误 (6309274, 6308646)

Access Manager 7 2005Q4 启动时将返回 amDelegationamProfile 调试文件中的调试错误:

解决方法:无。可忽略这些消息。

将 BEA WebLogic Server 用作 Web 容器

如果通过将 BEA WebLogic Server 用作 Web 容器来部署 Access Manager,则可能会无法访问 Access Manager。

解决方法:重新启动 WebLogic Server 以使 Access Manager 可以访问。

Linux OS 问题

在 Application Server 上运行 Access Manager 时出现 JVM 问题 (6223676)

如果您正在 Red Hat Linux 上运行 Application Server 8.1,由于 Red Hat OS 为 Application Server 所创建的线程堆栈大小为 10 MB,因此,当 Access Manager 用户会话数达到 200 时会出现 JVM 资源问题。

解决方法:要解决此问题,在启动 Application Server 前通过执行 ulimit 命令将 Red Hat OS 的工作堆栈大小设置为较小的值,如 2048 或 256 KB。在用于启动 Application Server 的同一控制台上执行 ulimit 命令。例如:

# ulimit -s 256;

联合与 SAML 问题

运行 Web 服务范例时返回“未找到资源提供”(6359900)

将 Access Manager 配置为访问 AccessManager-base/SUNWam/samples/phase2/wsc 目录(Solaris 系统)或 AccessManager-base /identity/samples/phase2/wsc 目录(Linux 系统)下的 Web 服务范例后,查询“搜索服务”或修改“资源提供”会返回错误消息:“未找到资源提供”。

AccessManager-base 是基安装目录。Solaris 系统的默认基安装目录是 /opt,而 Linux 系统则是 /opt/sun

解决方法:

  1. 转到以下范例目录:AccessManager-base /SUNWam/samples/phase2/wsc 目录(Solaris 系统)或 AccessManager-base/identity/samples/phase2/wsc 目录(Linux 系统)

  2. index.jsp 文件中,搜索以下字符串:

    com.sun.org.apache.xml.security.utils.XMLUtils.outputDOM
  3. 如果某行包含在上一步骤中找到的字符串,则在该行前插入以下新行:

    com.sun.org.apache.xml.security.Init.init();
  4. 重新运行范例。(无需重新启动 Access Manager。)

使用“辅件”配置文件时联合失败 (6324056)

如果设置了“身份提供者”(IDP) 和“服务提供者”(SP),更改通信协议以使用浏览器“辅件”配置文件,然后尝试在 IDP 与 SP 之间联合用户时,则联合失败。

解决方法:无。

应编码 SAML 声明中的特殊字符 (&) (6321128)

将 Access Manager 作为源站点和目标站点,并配置了 SSO,目标站点中会出现错误。原因是未编码 SAML 声明中的特殊字符 (&),从而导致声明解析失败。

解决方法:无。此问题已在修补程序 1 中修复。有关对特定平台应用该修补程序的信息,参见Access Manager 7 2005Q4 修补程序 1

尝试将 Disco 服务添加到角色时出现异常 (6313437)

在 Access Manager 控制台中,如果尝试将资源提供添加到 Disco 服务中,会出现未知异常。

解决方法:无。

配置并保存其他属性之前无法配置“验证环境”属性 (6301338)

配置并保存其他属性之前无法配置“验证环境”属性。

解决方法:配置“验证环境”属性之前,先配置并保存提供者配置文件。

如果根后缀包含“&”字符,则 EP 范例不起作用 (6300163)

如果 Directory Server 拥有包含“&”字符的根后缀,并尝试添加“员工配置文件服务资源提供”,则抛出异常。

解决方法:无。

联合中出现注销错误 (6291744)

在领域模式下,如果在“身份提供者”(IDP) 和“服务提供者”(SP) 上联合用户帐户,之后终止联合并注销,则出现错误:“错误:未找到任何子组织。”

解决方法:无。

全球化 (Globalization, g11n) 问题

未将用户语言环境首选项应用于整个管理控制台 (6326734)

Access Manager 管理控制台的某些部分未遵照用户语言环境首选项,而使用浏览器语言环境设置。这一问题将影响“版本”、“注销”和联机帮助按钮,以及“版本”和联机帮助的内容。

解决方法:将浏览器设置更改为与用户首选项相同的语言环境。

如果在 IBM WebSphere 上部署 Access Manager,则欧洲语言的联机帮助不完全可用 (6325024)

在所有欧洲语言环境(西班牙语、德语和法语)中,如果在 IBM WebSphere Application Server 实例上部署了 Access Manager,则不能完全访问所有的联机帮助。对于以下框架,联机帮助将显示“应用程序错误”:

解决方法:将浏览器语言设置为“英语”,然后刷新页面以访问左框架。然而上方框架仍会显示“应用程序错误”

如果在 IBM WebSphere 上部署 Access Manager,则版本信息为空 (6319796)

在所有语言环境中,如果在 IBM WebSphere Application Server 实例上部署了 Access Manager,则单击“版本”按钮时,都看不到产品版本信息。只显示空白页面。

解决方法:无。

客户机检测无法删除 UTF-8 (5028779)

“客户机检测”功能不能正常工作。不能将 Access Manager 7 2005Q4 控制台中的更改自动传送至浏览器。

解决方法:有两个解决方法:

日志文件中的多字节字符显示为问号 (5014120)

/var/opt/SUNWam/logs 目录下的日志文件中的多字节消息显示为问号 (?)。日志文件为本地编码,并非总是 UTF-8。在某一语言环境中启动 Web 容器后,日志文件为该语言环境的本地编码。如果切换至另一个语言环境,然后重新启动 Web 容器实例,则正在传送的消息将使用当前语言环境的本地编码,而使用先前编码的消息将显示为问号。

解决方法:确保始终使用相同的本地编码来启动任何 Web 容器实例。

文档问题

记录 Access Manager 无法从领域模式返回传统模式 (6508473)

如果在领域模式下安装 Access Manager 7 2005Q4,则无法返回到传统模式。

但是,如果在传统模式下安装 Access Manager 7 2005Q4,可通过使用带 -M 选项的 amadmin 命令来更改为领域模式。例如:

amadmin -u cn=amAdmin,ou=People,dc=example,dc=com -w amadmin-password -M dc=example,dc=com

记录关于禁用持久性搜索的更多信息 (6486927)

Access Manager 使用持久性搜索来接收有关更改过的 Sun Java System Directory Server 条目的信息。默认情况下,Access Manager 在服务器启动过程中创建以下持久性搜索连接:

aci - 对 aci 属性所做的更改,且使用 LDAP 过滤器 (aci=*) 进行搜索

sm - Access Manager 信息树(或服务管理节点)中的更改,包括具有 sunServicesunServiceComponent 标记对象类的对象。例如,您可以创建一个策略来定义受保护资源的访问权限,或者您可以修改现有策略的规则、对象、条件或响应提供者。

um - 用户目录(或用户管理节点)中的更改。例如,您可以更改用户的名称或地址。


注意 – 注意 –

不建议禁用所有此类组件的持久性搜索,因为禁用了持久性搜索的组件不能收到来自 Directory Server 的通知。因此,在 Directory Server 中对该特定组件所做的更改将无法通知组件高速缓存,且组件高速缓存将失去时效。

例如,如果您禁用对用户目录 (um) 中更改的持久性搜索,则 Access Manager 服务器将不会收到来自 Directory Server 的信息。因此,代理将不会从 Access Manager 收到使用用户属性的新值来更新其本地用户高速缓存的通知。然后,如果应用程序向代理查询用户属性,它会收到该属性的旧值。

仅在特定环境中确实必要时使用此属性。例如,如果您知道生产环境中不会发生服务配置更改(与任何服务(例如“会话服务”和“验证服务”)值的更改相关),则可以禁用对“服务管理”(sm) 组件的持久性搜索。不过,如果任何服务发生了任何更改,则需要重新启动服务器。同样的情形也适用于 acium 值所指定的其他持久性搜索。


有关更多信息,请参见CR# 6363157:如果确实需要,新属性可禁用持久性搜索

记录 Access Manager 支持和不支持的权限 (2143066)

权限定义管理员的访问权限,此类管理员为领域内存在的角色或组的成员。Access Manager 允许您为以下管理员类型配置权限:

支持以下权限:

记录基于 cookie 的粘性请求路由 (6476922)

将 Access Manager 服务器部署到负载平衡器后面后, 基于 cookie 的粘性请求路由可避免客户机请求被错误地路由到不正确的 Access Manager 服务器(即路由到没有托管该会话的服务器)。已在 Access Manager 7 2005Q4 修补程序 3 中实现此功能。

在以前的操作中,由于没有基于 cookie 的粘性请求路由,来自不基于任何浏览器的客户机(如使用远程 Access Manager 客户机 SDK 的策略代理和客户机)的请求经常被错误地路由到没有托管会话的 Access Manager 服务器。然后,为了将请求发送到正确的服务器,Access Manager 服务器必须使用后台频道通信来验证会话,这通常会导致某种程度的性能降级。基于 cookie 的粘性请求路由不必进行此类后台频道通信,因而提高了 Access Manager 的性能。

要实施基于 cookie 的粘性请求路由,必须将 Access Manager 部署配置为一个站点。有关信息,参见《Sun Java System Access Manager 7 2005Q4 Deployment Planning Guide》中的“Configuring an Access Manager Deployment as a Site”

要配置基于 cookie 的粘性请求路由:

  1. 要指定 cookie 名称,在 AMConfig.properties 文件中设置 com.iplanet.am.lbcookie.name 属性。然后,Access Manager 会使用两个字节的服务器 ID(例如 01、02 和 03)生成负载平衡器 cookie 值。如果未指定 cookie 名称,则 Access Manager 会使用默认名称 amlbcookie 加上两个字节的服务器 ID 来生成负载平衡器 cookie 值。

    如果在 Access Manager 服务器上设置 cookie 名称,则必须在策略代理的 AMAgent.properties 文件中使用相同的名称。同样,如果使用 Access Manager 客户机 SDK,也必须使用与 Access Manager 服务器使用的同一 cookie 名称。

    注意:请勿设置 com.iplanet.am.lbcookie.value 属性,因为 Access Manager 会使用两个字节的服务器 ID 来设置 cookie 值。

  2. 使用步骤 1 中得到的 cookie 名称来配置负载平衡器。可将硬件或软件负载平衡器与 Access Manager 部署一起使用。

  3. 如果实施了会话故障转移,则同时对策略代理和 Access Manager 服务器启用 com.sun.identity.session.resetLBCookie 属性。

    • 对于策略代理,在 AMAgent.properties 文件中添加并启用此属性。

    • 对于 Access Manager 服务器,在 AMConfig.properties 文件中添加并启用此属性。

    例如:

    com.sun.identity.session.resetLBCookie='true'

    如果发生故障转移,则将会话路由至备用 Access Manager 服务器,并使用备用 Access Manager 服务器的服务器 ID 来设置负载平衡器 cookie 值。然后该会话的任何后续请求都将路由至备用 Access Manager 服务器。

记录 Windows 2003 的 Windows 桌面 SSO 配置 (6487361)

要在 Windows 2003 上配置 Windows 桌面 SSO(如《Sun Java System Access Manager 7 2005Q4 管理指南》中的“配置 Windows 桌面 SSO”中所述),可使用以下 ktpass 命令:

ktpass /out filename /mapuser username 
/princ HTTP/hostname.domainname /crypto encryptiontype /rndpass 
/ptype principaltype /target domainname

例如:

ktpass /out demo.HTTP.keytab 
/mapuser http /princ HTTP/demo.identity.sun.com@IDENTITY.SUN.COM 
/crypto RC4-HMAC-NT /rndpass /ptype KRB5_NT_PRINCIPAL /target IDENTITY.SUN.COM

有关语法定义,参见以下站点:

http://technet2.microsoft.com/WindowsServer/en/library/64042138-9a5a-4981-84e9-d576a8db0d051033.mspx?mfr=true

记录设置分布式验证 UI 服务器密码的步骤 (6510859)

以下步骤说明如何为与 Access Manager 服务器通信的分布式验证 UI 服务器设置加密的密码。

要为分布式验证 UI 服务器设置密码:

  1. 在 Access Manager 服务器上:

    1. 使用 ampassword -e 实用程序加密 amadmin 密码。例如,在 Solaris 系统上:

      # cd /opt/SUNWam/bin 
      # ./ampassword -e amadmin-password 
      AQIC0K3omEozd544XEJIg25GT2wi1D7UAQLX 

      保存该加密值。

    2. 从 Access Manager 服务器的 AMConfig.properties 文件中复制并保存 am.encryption.pwd 属性值。例如:

      am.encryption.pwd=ydV8JXhJF2J35vpxjZRiGt7SH/7mUr+Y
  2. 在分布式验证 UI 服务器上,对 AMConfig.properties 文件执行以下更改:

    1. 注释掉 com.iplanet.am.service.password 属性。

    2. com.iplanet.am.service.secret 属性设为步骤 1a 中得到的加密 amadmin 密码。

    3. 添加从步骤 1b 中复制的 am.encryption.pwd 和加密的值。例如:

      com.sun.identity.agents.app.username=username 
      #com.iplanet.am.service.password=password 
      com.iplanet.am.service.secret=AQIC0K3omEozd544XEJIg25GT2wi1D7UAQLX 
      am.encryption.pwd=ydV8JXhJF2J35vpxjZRiGt7SH/7mUr+Y
  3. 重新启动分布式验证 UI 服务器。

“创建新站点名称”的在线帮助需要更多信息 (2144543)

Access Manager 控制台在线帮助的“配置”>“系统属性”>“平台”下缺少“创建新站点名称”的“保存”步骤。如果在添加新站点名称后没有单击“保存”然后又接着尝试添加一个实例名,进程将失败。因此,在添加站点名称后务必单击“保存”,然后再添加实例名。

记录 Windows 系统上的管理员密码配置参数为 ADMIN_PASSWD (6470793)

在 Solaris 和 Linux 系统上,amsamplesilent 文件中的 Access Manager 管理员 (amadmin) 密码配置参数为 ADMINPASSWD。但是,在 Windows 系统上,AMConfigurator.properties 文件中的此参数为 ADMIN_PASSWD

如果要在 Windows 系统上运行 amconfig.bat,则使用 ADMIN_PASSWORD 参数而非 ADMINPASSWDAMConfigurator.properties 文件中设置 amadmin 密码。

发行说明中为某些已知问题提供的解决方法有错 (6422907)

已更正了运行 Web 服务范例时返回“未找到资源提供”(6359900)的解决方法的步骤 3。

AMConfig.properties 中的 com.iplanet.am.session.protectedPropertiesList 的说明 (6351192)

com.iplanet.am.session.protectedPropertiesList 参数允许您保护特定核心和内部会话属性,防止它们被会话服务的 SetProperty 方法远程更新。通过设置此“隐藏”的关键安全性参数,可以自定义会话属性以参与授权以及其他 Access Manager 特性。若要使用此参数:

  1. 使用文本编辑器将参数添加到 AMConfig.properties 文件中。

  2. 将参数设置为需要保护的会话属性。例如:

    com.iplanet.am.session.protectedPropertiesList = 
    PropertyName1,PropertyName2,PropertyName3
    
  3. 重新启动 Access Manager Web 容器以使这些值生效。

对支持 LDAPv3 插件的角色和过滤角色的说明 (6365196)

应用相应的修补程序后,如果数据存储在 Sun Java System Directory Server 中,则可为 LDAPv3 插件配置角色和过滤的角色(修复了 CR 6349959)。在 Access Manager 7 2005Q4 管理控制台“LDAPv3 插件支持的类型和操作”字段的 LDAPv3 配置中,按以下格式输入值:

role: read,edit,create,delete
filteredrole: read,edit,create,delete

您可以输入上述两个条目中的一条,或两条都输入,这取决于计划在 LDAPv3 中使用的角色和过滤角色。

AMConfig.properties 文件中未使用的属性的说明 (6344530)

未使用 AMConfig.properties 文件中的以下属性:

com.iplanet.am.directory.host
com.iplanet.am.directory.port

服务器端的 com.iplanet.am.session.client.polling.enable 不能为 true (6320475)

服务器端 AMConfig.properties 文件中的 com.iplanet.am.session.client.polling.enable 属性不能设置为 true。

解决方法:该属性默认设置为 false,请勿设置为 true。

控制台联机帮助中的“默认成功 URL”不正确 (6296751)

service.scserviceprofile.iplanetamauthservice.html 联机帮助文件中的“默认成功 URL”不正确。“默认成功 URL”字段接受一系列的值,这些值用于指定验证成功后用户被重定向到的 URL。该属性的格式为 clientType|URL,尽管您可以只指定 URL 的值(默认类型为 HTML)。

/amconsole” 默认值不正确。

解决方法:正确的默认值是 "/amserver/console"。

说明如何启用 XML 加密 (6275563)

要使用 Bouncy Castle JAR 文件生成传输密钥以启用 Access Manager 或 Federation Manager 的 XML 加密功能,请按以下步骤进行操作:

  1. 如果当前使用的 JDK 版本早于 JDK 1.5,从 Bouncy Castle 网站 (http://www.bouncycastle.org/) 下载 Bouncy Castle JCE 提供者。例如,对于 JDK 1.4,应下载 bcprov-jdk14-131.jar 文件。

  2. 如果在上一步骤中已下载了 JAR 文件,则将此文件复制到 jdk_root/jre/lib/ext 目录下。

  3. 对于国内版本的 JDK,则应从 Sun 的网站 (http://java.sun.com) 下载与所用 JDK 版本相对应的 JCE Unlimited Strength Jurisdiction Policy Files。对于 IBM WebSphere,请转到相应的 IBM 网站以下载所需文件。

  4. 将已下载的 US_export_policy.jar 文件和 local_policy.jar 文件复制到 jdk_root/jre/lib/security 目录下。

  5. 如果当前使用的 JDK 版本早于 JDK 1.5,则应编辑 jdk_root/jre/lib/security/java.security 文件,将 Bouncy Castle 添加为提供者之一。例如:

    security.provider.6=org.bouncycastle.jce.provider.BouncyCastleProvider
  6. AMConfig.properties 文件中的以下属性设置为 true:

    com.sun.identity.jss.donotInstallAtHighestPriority=true
  7. 重新启动 Access Manager Web 容器。

有关详细信息,参阅问题 ID 5110285(XML 加密需要 Bouncy Castle JAR 文件)。