以下是配置远程 SSO SDK 以接收会话通知的步骤。
在计算机 1 上安装 Access Manager。
在计算机 2 上安装 Sun Java System Web Server。
在已安装 Web Server 的同一台计算机上安装 SUNWamsdk。
有关远程安装 Access Manager SDK 的说明,参见 Sun Java Enterprise System 5 安装指南。
确保与安装有 SDK 的计算机有关的以下信息为真。
确保已正确设置安装有 SDK 的服务器上 /remote_SDK_server/SUNWam/lib 和 /remote_SDK_server/SUNWam/locale 目录的访问权限。
这些目录包含远程服务器上的文件和 jar。
确保已在 Web Server 的 server.policy 文件的“授权”部分中设置以下权限。
server.policy 在 Web Server 安装程序的 config 目录中。如有必要,可以复制和粘贴这些权限:
permission java.security.SecurityPermission "putProviderProperty.Mozilla-JSS"
permission java.security.SecurityPermission "insertProvider.Mozilla-JSS";
确保已在 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">
使用安装在远程 SDK 服务器上的 SSO 范例进行配置。
将 am.encryption.pwd 的加密值从与 Access Manager 一起安装的 AMConfig.properties 文件复制到安装有 SDK 的远程服务器上的 AMConfig.properties 文件中。
am.encryption.pwd 的值用于加密和解密密码。
以 amadmin 身份登录到 Access Manager 中。
http://AcceessManager-HostName :3000/amconsole
通过在浏览器位置字段中输入 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
设置安装有 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 |
重新启动 Web Server。
以 amadmin 的身份登录到 Access Manager 中。
http://AcceessManager-HostName :3000/amconsole
通过再次在浏览器位置字段中输入 http:// remote_SDK_host:58080/servlet/SSOTokenSampleServlet 并验证 SSOToken 来执行 servlet。
运行远程 SDK 的计算机收到通知后,将在会话状态发生更改时调用其自身的侦听程序。注意,只有当远程 SDK 安装在 Web 容器上时才能接收到通知。
本节说明在仅限门户安装(默认情况下,以轮询模式运行)中使用 WebLogic 8.1 来启用通知的步骤。对于还包含 amserver 组件的门户实例,则不需要这些步骤。amserver 组件会自动配置以执行通知。
在 WebLogic 中注册 PLLNotificationServlet。
WebLogic 8.1 要求部署 Web 应用程序。另外,servlet URL 必须有效,这样当从浏览器访问时,将返回以下消息:
Webtop 2.5 Platform Low Level notification servlet |
在 AMConfig.properties 中输入已注册的 URL,如下所示:
com.iplanet.am.notifaction.url=http:// weblogic_instance-host.domain:port/notification/PLLNotificationServlet
在 AMConfig.properties 中禁用轮询。这将自动启用通知:
com.iplanet.am.session.client.polling.enable=false
重新启动 WebLogic 并测试配置。
如果已将调试模式设置为 message,则将看到会话通知在触发后到达门户。例如,诸如从 Access Manager 控制台终止用户这种操作将引发通知事件。