第 9 章 配置单点登录
本章介绍如何配置单点登录 (SSO)。
单点登录 (SSO) 使用户只需验证一次就可以使用多个信任的应用程序,而不必多次验证。Sun Java System 通信服务器(包括 Calendar Server 和 Messaging Server)可按以下说明实现 SSO 功能:
通过 Access Manager 配置 SSO
Sun Java Enterprise System 服务器(包括 Calendar Server 和 Messaging Server)可以使用 Sun Java System Access Manager (6 2003Q4 版或更高版本)实现 SSO 功能
Access Manager 可以作为 Sun Java Enterprise System 服务器的 SSO 网关。即用户登录 Access Manager 后即可访问其他 Sun Java Enterprise System 服务器,只要这些服务器已经过适当配置,支持 SSO。
在 Calendar Server 中使用 SSO
步骤
-
请确保已安装和配置 Access Manager 和 Directory Server。有关安装和配置这些产品的信息,请参阅《Sun Java Enterprise System 2005Q4 Installation Guide for UNIX》。
-
可以使用以下方法为 Calendar Server 配置 SSO:首先设置通过 Access Manager 配置 SSO中列出的参数,然后重新启动 Calendar Server 以使这些值生效。如果有必要,可以在设置每个参数时删除注释字符 (!)。
注 –
设置 local.calendar.sso.amnamingurl 参数时,必须为 Access Manager 使用全限定名。
-
要为 Messaging Server 配置 SSO,请参阅《Sun Java System Messaging Server 6 2005Q4 Administration Guide》。
-
用户使用他们的 Directory Server LDAP 用户名和密码登录 Access Manager。(通过其他服务器例如 Calendar Server 或 Messaging Server 登录的用户将无法使用 SSO 访问其他 Sun Java Enterprise System 服务器。)
-
登录后,用户就可以使用适当的 URL,通过 Communications Express 访问 Calendar Server。用户还可以访问其他 Sun Java Enterprise System 服务器(例如 Messaging Server),只要这些服务器已经过适当配置,支持 SSO。
参数
|
说明
|
local.calendar.sso.amnamingurl
|
指定 Access Manager SSO 命名服务的 URL。
默认值为 。
"http://AccessManager:port/amserver
/namingservice"
其中,AccessManager 是 Access Manager 的全限定名,port 是 Access Manager 端口号。
|
local.calendar.sso.amcookiename
|
指定 Access Manager SSO Cookie 的名称。
默认值为 "iPlanetDirectoryPro"。
|
local.calendar.sso.amloglevel
|
指定 Access Manager SSO 的日志级别。取值范围从 1(无信息)到 5(详细)。默认值为 "3"。
|
local.calendar.sso.logname
|
指定 Access Manager SSO API 日志文件名。
默认值为:"am_sso.log"
|
local.calendar.sso.singlesignoff
|
启用 ("yes") 或禁用 ("no") 从 Calendar Server 到 Access Manager 的单点注销。
如果启用,用户从 Calendar Server 注销的同时也将从 Access Manager 注销,而且用户通过 Access Manager 启动的任何其他会话(例如 Messaging Server Web 邮件会话)也将终止。
由于 Access Manager 是验证网关,因此总是启用从 Access Manager 到 Calendar Server 单点注销。
默认值为 "yes"。
|
在 Access Manager 中使用 SSO 的注意事项
-
只要 Access Manager 会话有效,日历会话就会有效。如果用户从 Access Manager 注销,日历会话也会自动地关闭(单点注销)。
-
SSO 应用程序必须在同一个域中。
-
SSO 应用程序必须可以访问 Access Manager 验证 URL(命名服务)。
-
浏览器必须支持 Cookie。
-
如果使用的是 Sun Java System Portal Server 网关,请设置以下 Calendar Server 参数:
通过通信服务器信任环技术配置 SSO
在通过通信服务器信任环技术(也就是不通过 Access Manager)配置 SSO 时,请注意以下几点:
下表介绍了通过通信服务器信任环技术启用 SSO 所需的 Calendar Server 配置参数。
表 9–1 通过通信服务器信任环技术启用 SSO 所需的 Calendar Server 参数
参数
|
说明
|
sso.enable
|
必须将此参数设置为 "1"(默认值)才能启用 SSO。设置为 0 将禁用 SSO。
|
sso.appid
|
此参数指定特定 Calendar Server 安装的唯一应用程序 ID。每个信任的应用程序也必须有一个唯一的应用程序 ID。默认值为:"ics50"
|
sso.appprefix
|
此参数指定了用于格式化 SSO Cookie 的前缀值。所有信任的应用程序必须使用相同的值,因为 Calendar Server 只能识别带有此前缀的 SSO Cookie。默认值为: "ssogrp1"
|
sso.cookiedomain
|
此参数指定浏览器只将 Cookie 发送到指定域中的服务器。该值必须以句点 (.) 开始
|
sso.singlesignoff
|
如果将此参数设置为 "true"(默认值),那么当客户机注销时,将清除客户机上前缀与 sso.appprefix 中配置的值相匹配的所有 SSO Cookie。
|
sso.userdomain
|
此参数设置用作用户的 SSO 验证一部分的域。
|
sso.appid.url = "verifyurl"
|
此参数设置 Calendar Server 配置的对等 SSO 主机的验证 URL 值。每个信任的对等 SSO 主机都需要一个参数。参数包括:
-
应用程序 ID (appid),标识包含可信 SSO Cookie 的每个对等 SSO 主机。
-
验证 URL (verifyurl),包括主机 URL、主机端口号以及 VerifySSO?(包括末尾处的问号 ?)。
在本例中,Calendar Server 应用程序 ID 是 ics50,主机 URL 是 sesta.com,端口号是 8883。
Messenger Express 应用程序 ID 是 msg50,主机 URL 是 sesta.com,端口号是 8882。
例如:
sso.ics50.url=
"http://sesta.com:8883
/VerifySSO?"
sso.msg50.url=
"http://sesta.com:8882
/VerifySSO?"
|
下表介绍了通过通信服务器信任环技术启用 SSO 所需的 Messaging Server 配置参数。
表 9–2 通过通信服务器信任环技术启用 SSO 所需的 Messaging Server 参数
参数
|
说明
|
local.webmail.sso.enable
|
必须将此参数设置为非零值才能启用 SSO。
|
local.webmail.sso.prefix
|
此参数指定在格式化 HTTP 服务器设置的 SSO Cookie 时所使用的前缀。例如:ssogrp
|
local.webmail.sso.id
|
此参数指定 Messaging Server 的唯一应用程序 ID(例如:msg50)。
每个信任的应用程序也必须有一个唯一的应用程序 ID。
|
local.webmail.sso.cookiedomain
|
此参数指定 HTTP 服务器设置的所有 SSO Cookie 的 Cookie 域值。
|
local.webmail.sso.singlesignoff
|
如果将此值设置为非零值,那么当客户机注销时,将清除客户机上前缀值与 local.webmail.sso.prefix 中配置的值相匹配的所有 SSO Cookie。
|
local.sso.appid.url=verifyurl
|
此参数设置 Messaging Server 配置的对等 SSO 主机的验证 URL 值。每个信任的对等 SSO 主机都需要一个参数。参数包括以下项目:
-
应用程序 ID (appid),标识包含可信 SSO Cookie 的每个对等 SSO 主机。
-
验证 URL (verifyurl),包括主机 URL、主机端口号以及 VerifySSO?(包括末尾处的 ?)。
例如:
local.sso.ics50.verifyurl=
http://sesta.com:8883/VerifySSO?
在本例中,Calendar Server 应用程序 ID 是 ics50,主机 URL 是 sesta.com,端口号是 8883。
local.sso.msg50.verifyurl=
http://sesta.com:8882/VerifySSO?
Messenger Express 应用程序 ID 是 msg50,主机 URL 是 sesta.com,端口号是 8882。
|
有关配置 Messaging Server 以启用 SSO 的更多信息,请参见《Sun Java System Messaging Server 6 2005Q4 Administration Guide》。