Sun Java System Messaging Server 6 2005Q4 管理指南

设置信任环 SSO

本节介绍如何为 Messenger Express、Delegated Administrator 和 Calendar Manager 设置 SSO。

Procedure为 Messenger Express、Delegated Administrator 和 Calendar Manager 设置 SSO

步骤
  1. 配置 Messenger Express 以实现 SSO。

    1. 设置适当的 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?"
      
    2. 更改配置后重新启动 Messenger Express HTTP 服务器。


      cd instance_root./stop-msg http
      ./start-msg http
      
  2. 配置 Directory Server 用于 SSO。

    1. 在目录中创建代理用户帐户。

      代理用户帐户使 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
    2. 为代理用户帐户验证创建适当的 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
      
  3. 配置 Delegated Administrator

    1. 将代理用户证书和上下文的 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/

    2. 添加参与的服务器的验证 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/

  4. 添加 Delegated Administrator 单点登录 cookie 信息并启用 UTF8 参数编码。

    1. 定义 Delegated Administrator 的上下文标识符。

      编辑 servlets.properties 文件,并取消包含文本 servlet.*.context=ims50 的所有行的注释。其中 * 表示任意字符串。

      servlets.properties 文件位于以下目录中:

      Web_Svr_Base/https-instancename/config/

    2. 在 Enterprise Server 配置中指定上下文的 cookie 名称。

      编辑 Enterprise Server 的 contexts.properties 文件,并将以下行添加到文件底部、#IDACONF-Start 行之前:

      context.ims50.sessionCookie=ssogrp1-ida

      contexts.properties 文件位于以下目录中:

      Web_Svr_Base/https-instancename/config/

    3. ims5 上下文启用 UTF8 参数编码。

      要在 Enterprise Server 配置中为 ims5 上下文启用 UTF8 参数编码,请将以下条目添加到 Enterprise Server 的 contexts.properties 文件中:

      context.ims50.parameterEncoding=utf8

  5. 重新启动 Messenger Express。

    按照步骤 1a 至 2c 中所述更改配置之后,您必须重新启动 Messenger Express 才能使更改生效:


    Web_Svr_Base/https-instance_name/stop
    Web_Svr_Base/https-instancename/start
    
  6. 如果在此 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?
  7. 重新启动 Calendar Server

    start-cal

  8. 重新启动 Messenger Express HTTP 服务器:


    msg_svr_base/sbin/stop-msg http
    msg_svr_base/sbin/start-msg http