Sun Java System Communications Express 6 2005Q4 管理指南

第 4 章 实现单点登录

单点登录允许最终用户进行一次验证就可以使用多个应用程序,而无需重新验证。例如,您可以登录到 Communications Express 并使用日历和邮件应用程序,而无需重新验证,但条件是在日历和邮件应用程序中启用了单点登录。在 Communications Express 中,可以执行以下类型的单点登录:

本章包含以下部分:

设置 Access Manager 单点登录

本部分提供有关如何设置 Communications Express 和 Messenger Express 以便使用 Access Manager 单点登录相互通信的信息。

如果已经选择将 Sun Java System LDAP Schema, v.2 用作模式模型,则需要在 Communications Express 中启用 Access Manager,以便使用 Access Manager 单点登录机制获取有效的用户会话。

要使 Communication Express 用户能够使用 Access Manager 单点登录访问由 Messenger Express 呈现的邮件模块,则需要使用位于 msg-svr_install_root/sbin/configutil 的 configutil 工具来修改特定于 Messenger Express 的参数。在安装后明确设置特定于 Messenger Express 的参数非常重要,因为安装程序不会设置这些参数。有关使用 configutil 工具的更多信息,请参阅 Sun Java System Messaging Server 管理指南中的第 4 章“配置常规通讯功能”。

设置 Access Manager 单点登录时,可以在 SSL 模式和非 SSL 模式下将 Communications Express 和 Access Manager 部署到同一个 Web 容器实例或不同的 Web 容器实例中。将 Access Manager 和 Communications Express 部署到不同的 Web 容器实例中时,需要在部署了 Communications Express 的系统上配置 Access Manager Remote SDK。下面列出了在 SSL 模式和非 SSL 模式下将 Access Manager 和 Communications Express 部署到不同 Web 容器实例中的部署方案。

Procedure在 Communications Express 中使用 Access Manager 启用单点登录

步骤
  1. 打开 uwc-deployed-path/WEB-INF/config/uwcauth.properties 文件。

  2. 修改 uwcauth.properties 文件中的以下 Communications Express 参数,以启用 Access Manager SSO。

    参数 

    用途 

    uwcauth.identity.enabled

    指定是否启用 Access Manager。 

    最初在配置器中设置该值。 

    要启用 Access Manager,将该属性设置为 true

    要禁用 Access Manager,将该属性设置为 false

    uwcauth.identity.login.url

    指定 Access Manager 登录 URL 的参数。 

    例如,uwcauth.identity.login.url= http://siroe.example.com:85/ amserver/UI/login

    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.binddnuwcauth.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 

    指定在非 SSL 端口上配置 Communications Express 时 Communications Express 所侦听的端口号。 

    默认端口号为 80

    uwcauth.https.port 

    指定在 SSL 端口上配置 Communications Express 时 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,则将 Communication Express 重定向到为 identitysso.portalurl 指定的 URL。

    默认情况下,将 Communications Express 重定向到 http://www.sun.com

  3. 在为 Access Manager 单点登录设置 Communications Express 时,将参数 uwcauth.messagingsso.enable 的值设置为 false

    此时,Communications Express 将使用 Access Manager 的单点登录机制获取有效的用户会话。

Procedure在同一个 Web 容器实例中部署 Access Manager 和 Communications Express

步骤
  1. 打开 IS-SDK-BASEDIR/lib/AMConfig.properties 文件。

    /opt/SUNWam/libIS-SDK-BASEDIR 的一个示例。

  2. 确保在 AMConfig.properties 文件中设置以下属性:

    com.iplanet.am.jssproxy.trustAllServerCerts=true

    AMConfig.properties 位于 IS-SDK-BASEDIR/lib

    例如 /opt/SUNWam/lib

  3. 重新启动 Web 容器以使更改生效。

    在 SSL 模式下部署到同一个 Web 容器实例中的 Access Manager 和 Communications Express 此时可以使用 Access Manager 的单点登录机制来获取有效的用户会话。

Procedure在不同的 Web 容器实例中部署 Access Manager 和 Communications Express

步骤
  1. 转到 IS-INSTALL-DIR/bin

  2. 复制 Access Manager 的 IS-INSTALL-DIR/bin/amsamplesilent 文件。

    cp amsamplesilent amsamplesilent.uwc

  3. 编辑在上一步骤中创建的 amsamplesilent 副本。

    设置参数,使其与部署详细信息相对应。

    如果要在 Web 容器(如 Sun Java System Web Server 或 Sun Java System Application Server)中部署 Access Manager SDK,请将 DEPLOY_LEVEL 设置为值 4,即选择选项“仅使用容器配置 SDK”。

  4. AM_ENC_PWD 设置为在安装 Access Manager 期间使用的密码加密键的值。

    加密键存储在参数 am.encryption.pwd 中,该参数位于:

    ${IS_INSTALL_DIR}/lib/AMConfig.properties

  5. NEW_INSTANCE 设置为 true

  6. 如果要在 Sun Java System Web Server 中部署 Access Manager SDK,请将 WEB_CONTAINER 设置为 WS6

    如果要在 Sun Java System Application Server 中部署 Access Manager SDK,请将 WEB_CONTAINER 设置为 AS7AS8

  7. 有关 amsamplesilent 文件中的其他参数的详细说明,以及如何配置 Access Manager Remote SDK 参数的详细说明,请参阅 Sun Java System Identity Server Administration Guide 中的第 1 章 "Identity Server 2004Q2 Configuration Scripts"。

  8. 在 Web 容器中配置 Access Manager SDK。

    确保 Access Manager 使用的 Directory Server 正在运行。

  9. 启动将部署 Access Manager SDK 的 Web 容器实例。

  10. 转到 IS-INSTALL-DIR/bin 目录。

  11. 运行以下命令:

    ./amconfig -s amsamplesilent.uwc

  12. 重新启动 Web 容器实例以使配置生效。

    在 SSL 模式和非 SSL 模式下部署到不同 Web 容器实例中的 Access Manager 和 Communications Express 此时可以使用 Access Manager 的单点登录机制来获取有效的用户会话。


    注 –

    有关在部署 Communications Express 后启用或禁用 Access Manager 的说明,请参阅调节 Communications Express


Procedure在 Messenger Express 中使用 Access Manager 启用单点登录

步骤
  1. 运行 configutil 工具。

    msg-svr_install_root/sbin/configutil

    如果已将 Messenger Express 部署为 MEM,确保 Messaging Server 中以下参数的值在后端 Messaging Server 的 mshttpd 组件上和前端 MEM 上是相同的:

    • local.webmail.sso.uwclogouturl

      • local.webmail.sso.uwchome

      • local.webmail.sso.uwcenabled

      • local.webmail.sso.uwcport

      • local.webmail.sso.singlesignoff

      • local.webmail.sso.uwccontexturi

      • local.webmail.sso.amcookiename

      • local.webmail.sso.amnamingurl

  2. 设置以下 Messenger Express 参数,以使 Communication Express 用户能够使用 Access Manager 单点登录访问 Messenger Express。

    参数 

    用途 

    local.webmail.sso.amnamingurl

    此配置从 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。 

    local.webmail.sso.uwclogouturl

    指定 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

    local.webmail.sso.uwcport

    指定 Communications Express 端口。 

    例如 85。 

    local.webmail.sso.uwccontexturi 

    指定部署 Communications Express 的 URI 路径。 

    仅当没有在 / 下部署 Communications Express 时,才指定此参数。

    例如,如果将 Communications Express 部署到 /uwc 中,则 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 的参数之后,Communication Express 用户即可使用 Access Manager 单点登录访问 Messenger Express。

设置 Messaging 单点登录

本部分说明如何设置 Communications Express 以使用 Messaging 单点登录。如果已经选择将 Sun Java System LDAP Schema, v.1 用作模式模型,则需要在 Communications Express 中启用 Messaging SSO,以使用 Messaging 单点登录机制进行验证。

在配置 Communications Express 时,配置向导不会设置任何强制性的 SSO 相关参数。需要手动设置所需参数,如下所述。另请注意,Messaging SSO 不支持虚拟域,并且在启用 Messaging SSO 时,Messenger Express 不会在 SSL 模式下运行。

如果已将 Messenger Express 部署为 MEM,请确保 Messaging Server 中以下参数的值在后端和前端是相同的:

Procedure使用 Messaging SSO 启用 Communications Express

步骤
  1. 打开 uwc-deployed-path/WEB-INF/config/uwcauth.properties 文件。

  2. uwcauth.properties 文件中修改以下特定于邮件的参数,以使 Communications Express 能够访问 Messenger Express。

    参数 

    用途 

    uwcauth.appprefix

    指定前缀,该前缀用于查找其他信任的应用程序在 SSO 过程中生成的 Cookie。 

    前缀用于查找其他信任的应用程序在单点登录过程中生成的 Cookie。 

    如果部署使用了 Messaging SSO,则应将该属性指定为配置 Messaging Server 期间设置的 local.webmail.sso.prefix 值。

    默认值为 iPlanetDirectoryPro

    uwcauth.appid

    指定 Communications Express 的应用程序 ID。 

    默认值为 uwc。 

    uwcauth.cookiedomain

    指定作为单点登录 Cookie 的一部分保存的域名。 

    uwcauth.messagingsso.enable

    启用或禁用 Messaging 单点登录功能。 

    将此参数设置为 true 可启用单点登录;将此参数设置为 false 可禁用单点登录。

    此外,确保为 Access Manager 单点登录设置 Communications Express 时,将 uwcauth.messagingsso.enable 设置为 false

    默认值为 true。 

    uwcauth.messagingsso.cookiepath

    指定保存单点登录 Cookie 的 URI 路径。 

    默认值为 /

    messagingsso.xxx.url 

    指定用于验证 SSO Cookie 的 URL。 

    xxx 的值应该替换为服务器的应用程序 ID。 

    例如,如果要使用应用程序 ID 为 "msg60" 的 Messaging Server 启用 SSO,您需要添加以下配置参数: 

    mesagingsso.msg60.url= http://servername/VerifySSO?

    此处提到的 xxx 值应该与在 Messenger Express 中为 local.webmail.sso.id 指定的值相同。

    默认值为 http://servername/VerifySSO?

    messagingsso.uwc.url 

    如果没有在 /(如 /uwc)下部署 Communications Express,该参数的值可能与如下所示类似:

    http://servername:85/uwc/VerifySSO?

    messagingsso.appid 

    指定 Messaging Server 的应用程序 ID。 

    messagingsso.appid 的值应该与配置 Messaging Server 期间设置的 local.webmail.sso.id 值相同。

    默认值为 ims。 

    messagingsso.ipsecurity 

    确定是否限制会话访问登录 IP 地址。 

    如果设置为 true,则在用户登录时,服务器会记住用户登录时所使用的 IP 地址。这样,服务器将仅允许该 IP 地址使用服务器在使用 Messaging Server 建立 SSO 时发给该用户的会话 Cookie。

    如果设置为 false,则 Communications Express 不执行此 IP 地址检查并限制对会话的访问。

    默认值为 true

    uwc-deployed-path/WEB-INF/config/uwcauth.properties 文件中设置了这些参数之后,Communications Express 用户将能够使用 Messaging 单点登录验证机制来访问 Messenger Express。

Procedure使用 Messaging SSO 启用 Messenger Express

步骤
  1. 运行 configutil 工具。

    msg-svr_install_root/sbin/configutil

  2. 使用 configutil 工具设置以下特定于邮件的参数。

    参数 

    用途 

    local.sso.<uwc-appid\>.verifyurl

    如果没有在 /(如 /uwc)下部署 Communications Express,则此参数的默认值可能与如下所示类似:

    http://siroe.example.com:85/uwc/ VerifySSO?

    local.webmail.sso.id 

    指定用于向其他应用程序标识 Messenger Express 的值。 

    local.webmail.sso.cookiedomain

    Messenger Express HTTP 服务器使用此参数的字符串值来设置 SSO Cookie 的 Cookie 域值。 

    该值必须以句点 (.) 开头,例如 ".example.com",其中全限定主机名为 siroe.example.com

    确保为此参数指定的值与为 uwcauth.cookiedomain 输入的值相同。

    例如 .example.com

    local.webmail.sso.enable

    启用或禁用 Messaging 单点登录功能。 

    将值设置为 0 可禁用 Messaging 单点登录功能。

    local.webmail.sso.prefix

    指定前缀,该前缀用于查找其他信任的应用程序在 SSO 过程中生成的 Cookie。 

    确保该值与为 uwcauth.appprefix 输入的值相对应。

    local.webmail.sso.singlesignoff

    如果设置为 1,则在用户注销时,服务器将为该用户删除与 local.webmail.sso.apprefix 值匹配的所有单点登录 Cookie。

    如果设置为 0,则服务器仅删除其单点登录用户 Cookie。

    local.webmail.sso.uwcenabled

    启用或禁用从 Communications Express 访问 Messenger Express。 

    如果设置为 1,则启用从 Communications Express 访问 Messenger Express。

    如果设置为 0,则禁用从 Communications Express 访问 Messenger Express。

    local.webmail.sso.uwclogouturl

    指定 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

    local.webmail.sso.uwcport

    指定 Communications Express 端口。 

    例如 85

    local.webmail.sso.uwccontexturi 

    指定部署 Communications Express 的路径。 

    仅当没有在 / 下部署 Communications Express 时,才指定此参数。例如,如果将 Communications Express 部署到 /uwc,则 local.webmail.sso.uwccontexturi =uwc

    例如 uwc

    local.webmail.sso.uwchome 

    指定访问主页链接所需的 URL。 

    例如 http://www.sun.com

    local.webmail.sso.ims.verifyurl 

    指定用于验证 SSO Cookie 的 URL。 

    例如 http://siroe.example.com/VerifySSO?

    此处假定 webmail 部署到端口 80 上。

    Communication Express 用户此时将能够使用 Messaging 单点登录机制来访问 Messenger Express 以进行验证。