配置 Messenger Express 以实现 SSO。
设置适当的 SSO configutil 参数。
要为具有 Delegated Administrator 的 Messenger Express 启用单点登录,请按照以下方法设置配置参数(假定默认域为 siroe.com)。表 6–3 中介绍了这些参数。您必须是超级用户。使用 cd 命令进入到 instance_root
configutil -o local.webmail.sso.enable -v 1 configutil -o local.webmail.sso.prefix -v ssogrp1 |
ssogrp1 是 iDA 使用的默认 SSO 前缀,尽管您可以选择其他前缀,但是使用默认前缀可以在配置 iDA 和 iCS 时省去一些键入操作。
configutil -o local.webmail.sso.id -v ims5 |
ims5 是您选择用于标识 Messenger Express (ME) 以使其区别于其他应用程序的名称。
configutil -o local.webmail.sso.cookiedomain -v ".siroe.com" |
以上域必须与 ME/浏览器客户机使用的域匹配,才能连接到服务器。因而,尽管此服务器上的托管域可能称为 xyz.com,但我们必须使用 DNS 中的真实域。该值必须以句点开头。
configutil -o local.webmail.sso.singlesignoff -v 1 configutil -o local.sso.ApplicationID.verifyurl -v \ "http://ApplicationHost:port/VerifySSO?" |
ApplicationID 是我们给予 SSO 应用程序的名称(例如:对于 Delegated Administrator 为 ida、对于 Calendar Server 为 ics50)。ApplicationHost:port 是应用程序的主机和端口号。对于每个非 Messaging Server 应用程序,您将具有上述行中的其中一行。示例:
configutil -o local.sso.ida.verifyurl -v \ "http://siroe.com:8080/VerifySSO?" |
更改配置后重新启动 Messenger Express HTTP 服务器。
cd instance_root./stop-msg http ./start-msg http |
配置 Directory Server 用于 SSO。
在目录中创建代理用户帐户。
代理用户帐户使 Delegated Administrator 可以捆绑至 Directory Server,以进行代理验证。使用以下 LDIF 代码 (proxy.ldif),您可以创建使用 ldapadd 的代理用户帐户条目。
ldapadd -h mysystem.siroe.com -D "cn=Directory Manager" -w password -v -f proxy.ldif
dn: uid=proxy, ou=people, o=siroe.com, o=isp objectclass: top objectclass: person objectclass: organizationalperson objectclass: inetorgperson uid: proxy givenname: Proxy sn: Auth cn: Proxy Auth userpassword: proxypassword |
为代理用户帐户验证创建适当的 ACI。
使用 ldapmodify 实用程序为安装 Delegated Administrator 时创建的每个后缀创建一个 ACI。
osiroot—您输入的用于存储用户数据的后缀(默认值为 o=isp)。osiroot 是组织树的根。
dcroot—您输入的用于存储域信息的后缀。(默认值为 o=internet。)
osiroot—您输入的用于存储配置信息的后缀,应当与您输入的用于存储用户数据的值相同。
以下是早期创建的代理用户的 osiroot ACI 条目 (aci1.ldif) 的示例:
dn: o=isp changetype: modify add: aci aci: (target="ldap:///o=isp")(targetattr="*")(version 3.0; acl "proxy";allow (proxy) userdn="ldap:///uid=proxy, ou=people, o=siroe.com, o=isp";) |
ldapmodify -h siroe.com -D "cn=Directory Manager" -w password -v -f aci1.ldif |
为 dcroot 创建类似的 ACI 条目 (aci2.ldif):
dn: o=internet changetype: modify add: aci aci: (target="ldap:///o=internet")(targetattr="*")(version 3.0; acl "proxy";allow (proxy) userdn="ldap:///uid=proxy, ou=people, o=siroe.com, o=isp";) |
ldapmodify -h siroe.com -D "cn=Directory Manager" -w password -v -f aci2.ldif |
配置 Delegated Administrator
将代理用户证书和上下文的 cookie 名称添加到 Delegated Administrator 的 resource.properties 文件。
在 Delegated Administrator resource.properties 文件中取消以下条目的注释并对其进行修改:
LDAPDatabaseInterface-ldapauthdn=Proxy_Auth_DN LDAPDatabaseInterface-ldapauthpw=Proxy_Auth_Password NDAAuth-singleSignOnId=SSO_Prefix- NDAAuth-applicationId=DelAdminID |
例如:
LDAPDatabaseInterface-ldapauthdn= uid=proxy,ou=people,o=cesta.com,o=isp LDAPDatabaseInterface-ldapauthpw=proxypassword NDAAuth-singleSignOnId=ssogrp1- NDAAuth-applicationId=ida |
resource.properties 文件存储在以下位置:
iDA_svr_base/nda/classes/netscape/nda/servlet/
添加参与的服务器的验证 URL。
要检验接收到的单点登录 cookie,Delegated Administrator 必须知道联系的对象。您必须为所有已知的参与的服务器提供检验 URL。
按照示例,假定已安装 Messenger Express,并且其应用程序 ID 为 msg5。编辑 Delegated Administrator 的 resource.properties 文件并添加如下条目:
verificationurl-ssogrp1-msg5=http://webmail_hostname:port/VerifySSO? verificationurl-ssogrp1-ida=http://iDA_hostname:port/VerifySSO? verificationurl-ssogrp1-ics50=http://iCS_hostname:port/VerifySSO? |
resource.properties 文件位于以下目录中:
iDA_svr_base/nda/classes/netscape/nda/servlet/
添加 Delegated Administrator 单点登录 cookie 信息并启用 UTF8 参数编码。
定义 Delegated Administrator 的上下文标识符。
编辑 servlets.properties 文件,并取消包含文本 servlet.*.context=ims50 的所有行的注释。其中 * 表示任意字符串。
servlets.properties 文件位于以下目录中:
Web_Svr_Base/https-instancename/config/
在 Enterprise Server 配置中指定上下文的 cookie 名称。
编辑 Enterprise Server 的 contexts.properties 文件,并将以下行添加到文件底部、#IDACONF-Start 行之前:
context.ims50.sessionCookie=ssogrp1-ida
contexts.properties 文件位于以下目录中:
Web_Svr_Base/https-instancename/config/
为 ims5 上下文启用 UTF8 参数编码。
要在 Enterprise Server 配置中为 ims5 上下文启用 UTF8 参数编码,请将以下条目添加到 Enterprise Server 的 contexts.properties 文件中:
context.ims50.parameterEncoding=utf8
重新启动 Messenger Express。
按照步骤 1a 至 2c 中所述更改配置之后,您必须重新启动 Messenger Express 才能使更改生效:
Web_Svr_Base/https-instance_name/stop Web_Svr_Base/https-instancename/start |
如果在此 SSO 组中部署 Calendar Server,请配置 Calendar Server。
编辑 ics.conf 并添加以下内容:
sso.appid = "ics50" sso.appprefix = "ssogrp1" sso.cookiedomain = ".red.iplanet.com" sso.enable = "1" sso.singlesignoff = "true" sso.userdomain = "mysystem.red.iplanet.com" sso.ims5.url="http://mysystem.red.iplanet.com:80/VerifySSO?" sso.ida.url=http://mysystem.red.iplanet.com:8080/VerifySSO? |
重新启动 Calendar Server
start-cal
重新启动 Messenger Express HTTP 服务器:
msg_svr_base/sbin/stop-msg http msg_svr_base/sbin/start-msg http |