单点登录让最终用户验证一次就可以使用多个应用程序,而无需重新验证。例如,可以登录到 Communications Express 并使用日历和邮件应用程序,而无需重新验证,但条件是在日历和邮件应用程序中启用了单点登录。
配置 Communications Express 时,可以在“启用 Access Manager 进行单点登录”面板中选择身份认证支持。
如果尚未在“启用 Access Manager 进行单点登录”面板中为 Communications Express 选择身份认证支持,而要以后启用身份认证支持,请执行以下步骤:
安装和配置 Access Manager Remote SDK。
用 Access Manager 的远程 SDK JAR 文件的位置更新 Communications Express Web 容器类路径。
例如,将以下行添加到 Web 容器的 server.xml 文件内的 classpathsuffix 中。
/opt/SUNWam/lib/am_sdk.jar
/opt/SUNWam/lib/am_services.jar
/opt/SUNWam/lib/am_logging.jar
在此示例中,假定 IS Remote SDK 安装在 /opt/SUNWam 中。
有关启用 Access Manager SSO 的参数,请参阅设置 Access Manager 单点登录。
对 uwc-deploydir/SUNWuwc/WEB-INF/web.xml 中的现有 web.xml 文件进行备份。
将 web_IS.xml 文件从 uwc-basedir/SUNWuwc/lib/config-templates/WEB-INF 复制到 uwc-deploydir/SUNWuwc/WEB-INF/。
请记住,要将已备份的 web.xml 文件中包含的所有其他配置数据合并到 web_IS.xml 中。
将 web_IS.xml 重命名为 web.xml。
如果已在“启用 Access Manager 进行单点登录”面板中为 Communications Express 选择了身份认证支持,而要以后禁用身份认证支持,请执行以下步骤:
在 uwcauth.properties 文件中,将 uwcauth.identity.enabled 设置为 false 以禁用 Identity SSO。
对 uwc-deploydir/SUNWuwc/WEB-INF/web.xml 中的现有 web.xml 文件进行备份。
将 web.xml 文件从 uwc-basedir/SUNWuwc/lib/config-templates/WEB-INF 复制到 uwc-deploydir/SUNWuwc/WEB-INF/。
请记住,要将已备份的 web.xml 文件中包含的所有其他配置数据合并到 web_IS.xml 中。
本节提供有关如何设置 Communications Express 和 Messenger Express 以便使用 Access Manager 单点登录相互通信的信息。
如果已经选择采用 Sun Java LDAP Schema v.2 作为模式模型,需要在 Communications Express 中启用 Access Manager,以便使用 Access Manager 单点登录机制获取有效的用户会话。
要让 Communications Express 用户能够使用 Access Manager 单点登录来访问 Messaging Express 提供的邮件模块,需要使用位于 msg-svr_install_root/sbin/configutil 中的 configutil 工具来修改特定于 Messaging Express 的参数。在安装后明确设置特定于 Messenger Express 的参数非常重要,因为安装程序不会设置这些参数。有关如何使用 configutil 工具的更多信息,请参阅《Sun Java Messaging Server 管理指南》中的第 4 章“配置常规通讯功能”。
设置 Access Manager 单点登录时,可以在同一个 Web 容器实例或不同的 Web 容器实例中以 SSL 模式和非 SSL 模式部署 Communications Express 和 Access Manager。如果在不同的 Web 容器实例中部署 Access Manager 和 Communications Express,需要在部署了 Communications Express 的系统上配置 Access Manager Remote SDK。以下列出了在不同的 Web 容器实例中以 SSL 模式和非 SSL 模式部署 Access Manager 和 Communications Express 的多种不同方案:
在不同的 Web 容器实例中以非 SSL 模式部署 Access Manager 和 Communications Express。
在不同的 Web 容器实例中以 SSL 模式部署 Access Manager 和 Communications Express。
在不同的 Web 容器实例中,以 SSL 模式部署 Access Manager,以非 SSL 模式部署 Communications Express。
在运行于相同系统的不同 Web 容器中以非 SSL 模式部署 Access Manager 和 Communications Express。
在运行于相同系统的不同 Web 容器实例中以 SSL 模式部署 Access Manager 和 Communications Express。
打开 uwc-deployed-path/WEB-INF/config/uwcauth.properties 文件。
可在 uwcauth.properties 文件中修改以下 Communications Express 参数以启用 Access Manager 单点登录。
参数 |
用途 |
---|---|
指定是否启用 Access Manager。 最初由配置向导设置该值。 如果将该属性设置为 true,则启用 Access Manager。 如果将该属性设置为 false,则禁用 Access Manager。 |
|
uwcauth.identity.cookiename |
指定 Access Manager 使用的 Cookie 名称。 uwcauth.identity.cookiename 值应该与在 Access Manager 配置器中指定的值对应。 Access Manager 使用的默认 Cookie 名称为 iPlanetDirectoryPro。 |
uwcauth.identity.binddn |
指定 amadmin 的完整 DN。 例如: uid=amAdmin, ou=People, o=siroe.example.com, o=example.com 注:uwcauth.identity.binddn 值和 uwcauth.identity.bindcred 值应与安装 Access Manager 时输入的值对应。 例如,uwcauth.identity.binddn=uid=amAdmin, ou=People, o=siroe.example.com, o=example.com 和 uwcauth.identity.bindcred=password。 |
uwcauth.identity.bindcred |
指定 amadmin 的密码。 |
uwcauth.http.port |
指定为 Communications Express 配置非 SSL 端口时,Communications Express 侦听的端口号。 默认端口号为 80。 |
uwcauth.https.port |
指定为 Communications Express 配置 SSL 端口时,Communications Express 侦听的 HTTPS 端口号。 默认 HTTPS 端口号是 443。 |
identitysso.singlesignoff |
指定单点注销状态。 如果设置为 true,则在用户注销时会彻底断开 Access Manager 会话,并关闭参与此 Access Manager 会话的所有应用程序。 如果设置为 false,则仅断开 Communications Express 会话,并使用户转到在 identitysso.portalurl 中配置的 URL。 默认状态为 true。 |
identitysso.portalurl |
指定 Communications Express 必须重定向到的 URL。 如果启用了 Access Manager,且单点注销设置为 false,则会将 Communications Express 重定向到在 identitysso.portalurl 中指定的 URL。 默认情况下,会将 Communications Express 重定向到 http://www.sun.com。 |
为 Communications Express 设置 Access Manager 单点登录时,即会将参数 uwcauth.messagingsso.enable 值设置为 false。
此时,Communications Express 将使用 Access Manager 的单点登录机制获取有效的用户会话。
打开 IS-SDK-BASEDIR/lib/AMConfig.properties 文件。
确保在 AMConfig.properties 文件中设置以下属性:
com.iplanet.am.jssproxy.trustAllServerCerts=true
AMConfig.properties 位于 IS-SDK-BASEDIR/lib 中。
重新启动 Web 容器以使更改生效。
在同一个 Web 容器实例中以 SSL 模式部署的 Access Manager 和 Communications Express 此时可以使用 Access Manager 的单点登录机制来获取有效的用户会话。
转到 IS-INSTALL-DIR/bin 目录。
复制 Access Manager 的 IS-INSTALL-DIR/bin/amsamplesilent 文件。
$ cp amsamplesilent amsamplesilent.uwc
编辑在上一步骤中创建的 amsamplesilent 副本。
按照下面步骤中所述部署详细信息对参数进行相应设置。
如果要在 Web 容器(如 Sun Java Web Server 或 Sun Java System Application Server)中部署 Access Manager SDK,请将 DEPLOY_LEVEL 设置为值 4,即选择选项“仅安装 SDK 并配置容器”。
将 AM_ENC_PWD 设置为安装 Access Manager 期间使用的密码加密键值。
加密键存储在以下文件的参数 am.encryption.pwd 中:
IS-INSTALL-DIR/lib/AMConfig.properties
将 NEW_INSTANCE 设置为 true。
如果要在 Sun Java System Web Server 中部署 Access Manager SDK,请将 WEB_CONTAINER 设置为 WS6。
如果要在 Sun Java System Application Server 中部署 Access Manager SDK,请将 WEB_CONTAINER 设置为 AS7 或 AS8。
有关 amsamplesilent 文件中的其他参数的更多详细说明,以及如何配置 Access Manager Remote SDK 参数的说明,请参阅《Sun Java System Identity Server Administration Guide》中的第 1 章 "Identity Server 2004Q2 Configuration Scripts"。
在 Web 容器中配置 Access Manager SDK。
确保 Access Manager 使用的 Directory Server 正在运行。
启动在其中部署 Access Manager SDK 的 Web 容器实例。
转到 IS-INSTALL-DIR/bin 目录。
键入以下命令:
./amconfig -s amsamplesilent.uwc
重新启动 Web 容器实例以使配置生效。
在不同 Web 容器实例中以 SSL 模式和非 SSL 模式部署的 Access Manager 和 Communications Express 此时可以使用 Access Manager 的单点登录机制来获取有效的用户会话。
有关在部署 Communications Express 后启用或禁用 Access Manager 的说明,请参阅压缩 Communications Express 的服务器响应。
可以使用 Messaging Server 提供的 configutil 命令编辑 Messaging Express 的相关参数。
可以设置以下 Messenger Express 参数,让 Communications Express 用户能够使用 Access Manager 单点登录访问 Messenger Express。
参数 |
用途 |
---|---|
启用 Access Manager SSO。 此参数应该指向 Access Manager 用于运行命名服务的 URL。 例如: configutil -o local.webmail.sso.amnamingurl -v http://siroe.example.com:85/ amserver/namingservice |
|
local.webmail.sso.uwcenabled |
使 Communications Express 能够访问 Messenger Express。 要禁用此功能,请将该参数设置为 0。 |
指定 Messenger Express 用于使 Communications Express 会话无效的 URL。 如果在 Messenger Express 中明确配置了 local.webmail.sso.uwclogouturl,则使用此值注销。否则,Messenger Express 将根据请求标题中的 HTTP 主机来构建注销 URL。 例如: http://siroe.example.com:85/base/UWCmain?op=logout 如果未在 / 下(如 /uwc)部署 Communications Express,则此参数的值可能如下:: http://siroe.example.com:85/uwc/ base/UWCmain?op=logout |
|
指定 Communications Express 端口。 例如 85。 |
|
local.webmail.sso.uwccontexturi |
指定用于部署 Communications Express 的 URI 路径。 仅当未在 / 下部署 Communications Express 时,才指定此参数。 例如,如果在 /uwc 中部署 Communications Express,则 URI 路径为 local.webmail.sso.uwccontexturi=uwc。 |
local.webmail.sso.amcookiename |
指定 Access Manager 会话的 cookie 名称。 确保在 uwcauth.properties 文件中,uwcauth.identity.cookiename 值设置为 local.webmail.sso.amcookiename 值。 例如 iPlanetDirectoryPro。 |
local.webmail.sso.uwchome |
指定访问主页链接所需的 URL。 |
设置了特定于 Messenger Express 的参数之后,Communications Express 用户即可使用 Access Manager 单点登录访问 Messenger Express。
如果已将 Messenger Express 部署为 MEM,请确保 Messaging Server 中以下参数的值在后端邮件服务器的 mshttpd 组件上和前端 MEM 上是相同的:
local.service.http.proxy。应将此参数值设置为 1。
local.service.http.proxy.admin。应将此参数值设置为前端 Messaging Server 的管理员用户 ID。
local.service.http.proxy.admin.<hostname-of-backend-server>。应将此参数值设置为后端 Messaging Server 的管理员用户 ID。
local.service.http.proxy.adminpass。应将此参数值设置为前端 Messaging Server 的管理员密码。
local.service.http.proxy.adminpass.<hostname-of-backend-server>。应将此参数值设置为后端 Messaging Server 的管理员密码。
设置了上述值之后,请重新启动 Messaging Server 和 Web 容器以使更改生效。