Sun Java Enterprise System 2005Q4 发行说明

无法访问 Administration Server 8.1 上具有非默认 URI 的部署 (6308426)

如果在 Application Server 8.1 上安装 Access Manager 7.0,并为 Access Manager 选择非默认 URI(例如,选择 idserver 而非 amconsole 及选择 idconsole 而非 amconsole)则会出现这种情况。具体地讲,在 amas81config 文件中,configureServerPolicy() 并未考虑使用默认 URI 配置 Access Manager 的使用案例。而是假定将使用默认 URI 部署 Access Manager war 文件,并为 amserver.waramconsole.warampassword.war 授予权限。

解决方案:执行以下过程:

  1. 停止部署了 Access Manager 的应用服务器实例。

  2. 进入以下目录:${AS_DOMAINS_DIR}/${AS_DOMAIN}/config

  3. 键入以下命令:cp server.policy server.policy.orig

  4. 找到以下策略授予 codeBase:"file:\${com.sun.aas.instanceRoot}/applications/j2ee-modules/amserver/-" { permission java.net.SocketPermission "*", "connect,accept,resolve"; permission java.util.PropertyPermission "*", "read, write"; }; grant codeBase "file:\${com.sun.aas.instanceRoot}/applications/j2ee-modules/amconsole/-" { permission java.net.SocketPermission "*", "connect,accept,resolve"; permission java.util.PropertyPermission "*", "read, write"; }; grant codeBase "file:\${com.sun.aas.instanceRoot}/applications/j2ee-modules/ampassword/-" { permission java.net.SocketPermission "*", "connect,accept,resolve"; permission java.util.PropertyPermission "*", "read, write"; };

  5. 使用服务 Web 应用程序的 URI 替换行 grant codeBase "file:\${com.sun.aas.instanceRoot}/applications/j2ee-modules/amserver/-" { 中的 "amserver"

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

  7. 使用密码 Web 应用程序的 URI 替换行 grant codeBase "file:\${com.sun.aas.instanceRoot}/applications/j2ee-modules/ampassword/-" { 中的 "ampassword"

  8. 启动部署了 Access Manager 的应用服务器实例。