Sun Java System Access Manager 7.1 管理指南

第 11 章 通知服务

Sun Java System Access Manager 7.1 通知服务允许将会话通知发送至远程 Web 容器。有必要启用该服务,以供从 Access Manager 服务器本身远程运行的 SDK 应用程序使用。本章说明了如何启用远程 Web 容器来接收通知。包括以下各节:

概述

“通知服务”允许将会话通知发送至正在远程运行 Access Manager SDK 的 Web 容器。通知仅适用于“会话”、“策略”和“命名服务”。另外,远程应用程序必须正在 Web 容器中运行。通知的作用为:

注意,只有当远程 SDK 安装在 Web 容器上时才能接收到通知。

启用通知服务

以下是配置远程 SSO SDK 以接收会话通知的步骤。

Procedure接收会话通知

  1. 在计算机 1 上安装 Access Manager。

  2. 在计算机 2 上安装 Sun Java System Web Server。

  3. 在已安装 Web Server 的同一台计算机上安装 SUNWamsdk

    有关远程安装 Access Manager SDK 的说明,参见 Sun Java Enterprise System 5 安装指南

  4. 确保与安装有 SDK 的计算机有关的以下信息为真。

    1. 确保已正确设置安装有 SDK 的服务器上 /remote_SDK_server/SUNWam/lib 和 /remote_SDK_server/SUNWam/locale 目录的访问权限。

      这些目录包含远程服务器上的文件和 jar。

    2. 确保已在 Web Server 的 server.policy 文件的“授权”部分中设置以下权限。

      server.policy 在 Web Server 安装程序的 config 目录中。如有必要,可以复制和粘贴这些权限:

      permission java.security.SecurityPermission "putProviderProperty.Mozilla-JSS"

      permission java.security.SecurityPermission "insertProvider.Mozilla-JSS";

    3. 确保已在 server.xml 中正确设置类路径。

      server.xml 也位于 Web Server 安装程序的 config 目录中。以下是典型的类路径:

      <JAVA javahome="/export/home/ws61/bin/https/jdk" 
      serverclasspath="/export/home/ws61/bin/https/jar/webserv-rt.jar:${java.home}/lib/tools.jar:/export/home/ws61/bin/https/jar/webserv-ext.jar:/export/home/ws61/bin/https/jar/webserv-jstl.jar:/export/home/ws61/
      	bin/https/jar/nova.jar"
      classpathsuffix="::/IS_CLASSPATH_BEGIN_DELIM:				//usr/share/lib/xalan.jar:				//export/SUNWam/lib/xmlsec.jar:				//usr/share/lib/xercesImpl.jar:				//usr/share/lib/sax.jar:				//usr/share/lib/dom.jar:				//export/SUNWam/lib/dom4j.jar:				//export/SUNWam/lib/jakarta-log4j1.2.6.jar:				//usr/share/lib/jaxm-api.jar:				//usr/share/lib/saaj-api.jar:				//usr/share/lib/jaxrpc-api.jar:				//usr/share/lib/jaxrpc-impl.jar:				//export/SUNWam/lib/jaxm-runtime.jar:				//usr/share/lib/saaj-impl.jar:/export/SUNWam
      				//lib:/export/SUNWam/locale:				//usr/share/lib/mps/jss3.jar:				//export/SUNWam/lib/	am_sdk.jar:				//export/SUNWam/lib/am_services.jar:				//export/SUNWam/lib/am_sso_provider.jar:				//export/SUNWam/lib/swec.jar:				//export/SUNWam/lib/acmecrypt.jar:				//export/SUNWam/lib/iaik_ssl.jar:				//usr/share/lib/jaxp-api.jar:				//usr/share/lib/mail.jar:				//usr/share/lib/activation.jar:				//export/SUNWam/lib/servlet.jar:				//export/SUNWam/lib/am_logging.jar:				//usr/share/lib/commons-logging.jar:				//IS_CLASSPATH_END_DELIM:" 
      envclasspathignored="true" debug="false"
      debugoptions="-Xdebug -Xrunjdwp:transport=dt_socket,
      server=y,suspend=n" 
      javacoptions="-g" 
      dynamicreloadinterval="2">
      
  5. 使用安装在远程 SDK 服务器上的 SSO 范例进行配置。

    1. 转至 / remote_SDK_server /SUNWam/samples/sso 目录。

    2. 运行 gmake

    3. 将生成的类文件从 / remote_SDK_server /SUNWam/samples/sso 复制到 / remote_SDK_server /SUNWam/lib/

  6. am.encryption.pwd 的加密值从与 Access Manager 一起安装的 AMConfig.properties 文件复制到安装有 SDK 的远程服务器上的 AMConfig.properties 文件中。

    am.encryption.pwd 的值用于加密和解密密码。

  7. amadmin 身份登录到 Access Manager 中。

    http://AcceessManager-HostName :3000/amconsole

  8. 通过在浏览器位置字段中输入 http:// remote_SDK_host:58080/servlet/SSOTokenSampleServlet 并验证 SSOToken 来执行 servlet。

    SSOTokenSampleServlet 用于验证会话令牌和添加侦听程序。执行 servlet 将打印出以下消息:

    SSOToken host name: 192.18.149.33 SSOToken Principal name: uid=amAdmin,ou=People,dc=red,dc=iplanet,dc=com Authentication type used: LDAP IPAddress of the host: 192.18.149.33 The token id is AQIC5wM2LY4SfcyURnObg7vEgdkb+32T43+RZN30Req/BGE= Property: Company is - Sun Microsystems Property: Country is - USA SSO Token Validation test Succeeded

  9. 设置安装有 Client SDK 的计算机 AMConfig.properties 中的属性 com.iplanet.am.notification.url=


    com.iplanet.am.notification.url=http://clientSDK_host.domain:port
    /servlet
        com.iplanet.services.comm.client.PLLNotificationServlet
  10. 重新启动 Web Server。

  11. amadmin 的身份登录到 Access Manager 中。

    http://AcceessManager-HostName :3000/amconsole

  12. 通过再次在浏览器位置字段中输入 http:// remote_SDK_host:58080/servlet/SSOTokenSampleServlet 并验证 SSOToken 来执行 servlet。

    运行远程 SDK 的计算机收到通知后,将在会话状态发生更改时调用其自身的侦听程序。注意,只有当远程 SDK 安装在 Web 容器上时才能接收到通知。

Procedure在仅限门户安装中启用通知服务

本节说明在仅限门户安装(默认情况下,以轮询模式运行)中使用 WebLogic 8.1 来启用通知的步骤。对于还包含 amserver 组件的门户实例,则不需要这些步骤。amserver 组件会自动配置以执行通知。

  1. 在 WebLogic 中注册 PLLNotificationServlet

    WebLogic 8.1 要求部署 Web 应用程序。另外,servlet URL 必须有效,这样当从浏览器访问时,将返回以下消息:


    Webtop 2.5 Platform Low Level notification servlet
  2. AMConfig.properties 中输入已注册的 URL,如下所示:

    com.iplanet.am.notifaction.url=http:// weblogic_instance-host.domain:port/notification/PLLNotificationServlet

  3. 在 AMConfig.properties 中禁用轮询。这将自动启用通知:

    com.iplanet.am.session.client.polling.enable=false

  4. 重新启动 WebLogic 并测试配置。

    如果已将调试模式设置为 message,则将看到会话通知在触发后到达门户。例如,诸如从 Access Manager 控制台终止用户这种操作将引发通知事件。