Sun ONE logo      上一页      目录      索引      下一页     

Sun ONE Portal Server 6.2 管理员指南

附录 H
SSO 适配器模板及配置

本附录介绍如何配置单点登录 (SSO) 适配器,以便调整最终用户可用的选项。

本附录包含下列部分:


单点登录适配器概述

单点登录适配器服务允许最终用户使用一些应用程序(如 Portal Server 提供者或其它任何 Web 应用程序),从而在登录一次后即可获得对各种资源服务器的经过验证的访问权。可访问的资源服务器取决于系统中可用的“SSO 适配器”接口实现。目前,Sun ONE Portal Server 为下列资源服务器提供了“SSO 适配器”:“通讯录”、“日历”和“邮件”。“即时讯息传递”频道的“单点登录”不是通过“SSO 适配器”实现,而是使用 Sun ONE Identity Server 验证方法实现的。有关此方法的详细信息,请参阅表 12-1 中的 authMethod 属性。“通讯录”、“日历”和“邮件”服务可通过下列产品获得:

资源服务器通常是通过使用标准应用程序编程接口 (API) 的应用程序来进行访问的,例如,可通过 JavaMail 来访问邮件服务器。要使用 API 来创建经过验证的连接,必须向 API 提供用于连接的配置数据。“SSO 适配器”的目的就是为了提供该配置数据,而“SSO 适配器”服务是用来存储该数据的。

“SSO 适配器”服务定义了两种级别的数据、模板和配置。“SSO 适配器”模板定义了即将供用户使用的一类连接。单个模板可以由多个用户使用。它定义了对使用该模板的所有用户都一样的数据值,包括默认值和用户可以编辑的值的标识。因此,“SSO 适配器”模板定义在全局服务级上。

“SSO 适配器”配置通过提供特定于组织、角色或用户的数据值建立在模板基础之上。配置引用模板并从模板中提取一些属性的数据值,这些属性是用户不可编辑的。当某位最终用户更改了“SSO 适配器”配置的用户可编辑属性时,该配置将仅适用于这一位用户。

使用“SSO 适配器”服务的 Sun ONE Portal Server 通讯频道会引用模板或配置来获取数据值,这些值是获得到资源服务器的连接所需要的。如果此频道引用某个模板,并且用户保存了配置信息,则会将此引用转交给配置。此时,该配置将会引用此模板。


SSO 适配器模板格式:全局

SSO 适配器全局属性

表 H-1 介绍了“SSO 适配器”的全局属性(实际上只是一个属性)。该表包含三列:第一列标识属性,第二列提供属性的默认值,第三列对属性进行描述。

表 H-1 SSO 适配器 - 全局属性

属性

默认值

说明

SSOAdapterTemplates

默认值取决于安装期间配置的服务。

SSOAdapterTemplates 属性是一个字符串列表,其中每一字符串都是 URL 格式。该字符串有效地定义了一组名称/值对。该属性定义了系统中可用的所有 SSO 适配器。同时还定义了 SSO 适配器的所有配置方法。

SSO 适配器的默认值在 SSOAdapterTemplates 属性中定义,组织、角色或用户特定实例存储在 SSOAdapterConfigurations 属性中。

访问 SSO 适配器模板

通过 Sun™ ONE Identity Server 管理控制台访问“SSO 适配器模板”:

  1. 在 Internet 浏览器中,以 http://hostname:port/amconsole 地址形式(如 http://psserver.company22.example.com:80/amconsole)登录到 Sun ONE Identity Server 管理控制台
  2. 单击“服务配置”标签,在导航窗格(左下框架)中显示可配置服务列表。
  3. 向下滚动导航窗格至“单点登录适配器配置”标题,然后单击“SSO 适配器”旁边的箭头,在数据窗格(右下框架)中调出“SSO 适配器”页。

关于 SSO 适配器模板

创建“SSO 适配器”模板是为了处理服务器设置。模板以“统一资源定位符”(URL) 形式表示,此地址格式在“万维网联合会”(W3C) 公布的 RFC 1738 中有述。

模板字符串包含各种不同的属性,这些属性在配置后可提供后端系统所需的信息。

模板字符串是可编辑的,从而允许管理员为字符串内的属性分配值,并对这些属性应用确定的使用规则。

模板字符串以单词“default”开头,其后跟有管道符号“|”。因此,管理员输入的任何模板字符串都必须以“default|”组合开头。每个模板字符串均包含一种协议,该协议跟在管道符号后面。包含 IMAP 和 POP 协议的字符串适用于“邮件 SSO 适配器”实现;“日历 SSO 适配器”实现使用以 HTTP 协议开头的字符串;“通讯录 SSO 适配器”实现使用以 LDAP 协议开头的字符串。

代码示例 H-1 给出了一个“通讯录 SSO 适配器”模板。该例使用的是 LDAP 端口 489,而不是默认 LDAP 端口 389。本例使用非默认 LDAP 端口是为了演示两段代码的使用,这两段代码在使用默认 LDAP 端口时不是必需的,它们是:冒号与 LDAP 端口号组对 :489 以及下面的子串 &default=port

模板字符串在字段中是以一个长字符串形式出现的;但为了便于阅读,在此将以下字符串分成了若干行,其中在每个& 符号前均添加了换行符。

代码示例 H-1 通讯录 SSO 适配器模板

default|ldap://company22.example.com:489/?configName=SUN-ONE-ADDRESS-BOOK

    &pabSearchBase=o=pab

    &userSearchBase=o=example.com

    &aid=uid=msg-admin,ou=People,o=company22.example.com,o=example.com

    &adminPassword=admin

    &imapHost=imserver.company22.example.com

    &imapPort=143

    &clientPort=1080

    &enableProxyAuth=false

    &proxyAdminUid=[PROXY-ADMIN-UID]

    &proxyAdminPassword=[PROXY-ADMIN-PASSWORD]

    &userAttribute=uid

    &type=AB-TYPE

    &subType=sun-one

    &ssoClassName=com.sun.ssoadapter.impl.LDAPABSSOAdapter

    &encoded=password

    &default=ssoClassName

    &default=host

    &default=port

    &default=pabSearchBase

    &default=userSearchBase

    &default=aid

    &default=adminPassword

    &default=imapHost

    &default=imapPort

    &default=clientPort

    &default=type

    &default=subType

    &default=enableProxyAuth

    &default=proxyAdminUid

    &default=proxyAdminPassword

    &default=userAttribute

    &merge=uid

    &merge=password

    &default=enablePerRequestConnection

    &enablePerRequestConnection=true

以下代码行例举了“SSO 适配器”模板字符串或“SSO 适配器”配置字符串前端部分可能有的属性。与代码示例 H-1 相比,该部分演示如何为属性赋值。表 H-2 清晰阐述了每个属性,表 H-3 对属性类型作了解释说明。

protocol://uid:password@host:port/?configName=configuration-name&ssoClassName=
sso-adapter-class&...

上述“SSO 适配器”模板字符串部分对于模板和配置,其格式都是正确的,模板适用于该 Sun ONE Portal Server 实例的所有用户,配置适用于特定的组织、角色和用户。但是,上述部分的某些片段并不经常在模板或配置字符串中出现。例如,在模板中不常使用片段“uid:password@”,因为它的值通常特定于具体的用户。

在“SSO 适配器”模板中使用上述片段将为所有用户设置相同的用户 ID 和口令。在某些情况下,这种配置似乎是合理的。例如,某个站点可能会创建一个只读日历来列出整个站点发生的事件。此时,所有用户都可以在各自的“桌面”上使用相同的用户 ID 和口令来获取“日历频道”,并且他们将会看到相同的日历。

表 H-2 SSO 适配器模板字符串中的某些属性

属性名

说明

必要性

protocol

用来与服务器进行对话的协议

可选

uid

主机所引用的服务器上的用户的用户 ID

可选

password

主机所引用的服务器上的用户的口令(经过了编码)

可选

host

服务器主机名

可选

port

服务器端口号

可选

configName

“SSO 适配器模板”的名称

强制

ssoClassName

“SSO 适配器”的全限定类名

强制

type

在将“SSO 适配器”模板或配置集合置于与类型相关的分组中时,此属性很有用;例如,当没有显式选项时,帮助选择默认配置。目前,该值可以为下面的某一个值:

  • AB-TYPE
  • MAIL-TYPE
  • CALENDAR-TYPE

可选

subType

“SSO 适配器”模板或配置所适用的、特定于供应商或产品的平台。当您希望支持特定产品或平台的功能时,该属性很有用。目前,该值可以为下面的某一个值:

  • sun-one
  • notes
  • exchange

可选

enablePerRequestConnection

性能调节选项,该布尔属性的默认设置为 true。

如果 enablePerRequestConnection=true,则每次请求 Portal 桌面都会打开一个到后端存储的新连接,然后关闭该连接。

如果 enablePerRequestConnection=false,那么,“Portal 桌面”会在门户登录时打开一个到后端存储的新连接,并在终止用户会话时关闭该连接。

可选

“SSO 适配器”模板识别下列属性类型:

表 H-3 SSO 适配器模板字符串中的属性类型

属性类型

说明

merge

指示该值是用户可编辑的。在代码示例 H-1 中,请注意,用户只能编辑两个值:uidpassword

default

指示某个属性被设置为默认值,该过程实际分两步进行。在代码示例 H-1 中,请注意,imapPort 在字符串中的某处被设置为一个特定端口,即&imapPort=143,随后又在字符串中被设置为默认值,即&default=imapPort

下例包括某一“SSO 适配器”模板和某一“SSO 适配器”配置的几个片段,该例演示了 default 属性的工作方式:

  • SSO 适配器模板:

configName=t1&ex1=ex2&exa=exb&default=exa

  • SSO 适配器配置:

configName=c1&configDesc=t1

此时,“SSO 适配器”实现所看到的最终属性列表就是:

exa=exb

模板中的 ex1=ex2 值被忽略,因为它没有被列为默认属性。

encoded

指示不以明文形式传递属性,而是将其模糊化。在代码示例 H-1 中,请注意,只会对 password 一个值进行编码。

不对值 adminPassword 进行编码。对某个属性进行编码,如 adminPassword

1. 在“SSO 适配器”模板字符串中输入经过加密的值。对于本例,加密后的值跟在以下子串的等号后面:

&adminPassword=

  • 要加密纯文本值,请使用下面的 Sun ONE Identity Server 软件开发工具包 (SDK) 类,其中 plain-text-value 为加密前的属性值:

AMPaswordUtil.encrypt plain-text-value

  • 使用上述类中的 encrypt 方法可获得经过加密的值。

2. 添加一个子串,为 encoded 指定要加密的属性。对于本例,该属性为 adminPassword,并且它被添加到字符串末尾(方便位置):

&encoded=adminPassword

经过本次操作的更改,“SSO 适配器”模板的末尾部分将如下所示:

...merge=uid&merge=password&encoded
=adminPassword


SSO 适配器配置格式:动态

SSO 适配器动态属性

表 H-4 描述了“SSO 适配器”的动态属性。该表包含三列:第一列标识属性,第二列提供属性的默认值,第三列对属性进行描述。

表 H-4 SSO 适配器 - 动态属性

属性

默认值

说明

Conflict ResolutionLevel

最高

设置 SSO 适配器模板的冲突解决级别,用来解决合并多个模板时产生的冲突。有七种冲突解决设置可用,范围从“最高”到“最低”。

发生属性冲突时,将返回设置为最高冲突解决级别的模板中的属性。

SSOAdapterConfigurations

默认值取决于安装期间配置的服务。

SSOAdapterConfigurations 属性是一个字符串列表,其中每一字符串都是 URL 格式。该字符串定义了在 SSOAdapterTemplates 属性中定义的 SSO 适配器的特定实例。

SSO 适配器的默认值在 SSOAdapterTemplates 属性中定义,组织、角色或用户特定实例存储在 SSOAdapterConfigurations 属性中。

访问 SSO 适配器配置


注意

要编辑“SSO 适配器”配置,请按照随后所示的步骤进行操作,其中是通过选择“标识管理”标签来访问配置的,如步骤 2 中所述。不要象“访问 SSO 适配器模板”中所述的那样访问“服务配置”标签中的配置。


通过 Sun ONE Identity Server 管理控制台访问“SSO 适配器”配置:

  1. 在 Internet 浏览器中,以 http://hostname:port/amconsole 地址形式(如 http://psserver.company22.example.com:80/amconsole)登录到 Sun ONE Identity Server 管理控制台
  2. 单击“标识管理”标签,以在导航窗格中显示“查看”下拉列表。
  3. 在“查看”下拉列表中选择“服务”,以显示可配置服务的列表。
  4. 向下滚动导航窗格至“单点登录适配器配置”标题,然后单击“SSO 适配器”旁的箭头,在数据窗格中调出“SSO 适配器”页。

有关 SSO 适配器配置

代码示例 H-2 邮件 SSO 适配器配置

 

default|imap:///?configName=sunOneMail&configDesc=SUN-ONE-MAIL

代码示例 H-2 给出了一个“邮件 SSO 适配器”配置。

如先前所述,“动态 SSO 适配器”配置与“全局 SSO 适配器服务”模板具有相同的格式:

protocol://uid:password@host:port/?configName=configuration-name
configDesc=sso-adapter-template&....

对于“SSO 适配器”模板,上述部分的某些片段(如 uid:password@host:port)往往不显示;但是,对于“SSO 适配器”配置字符串,虽然该类型的片段往往不在组织或角色级别显示,但将在用户级别显示。

在动态级别识别的属性有:

表 H-5 SSO 适配器配置字符串中的属性

属性

说明

必要性

configName

这是“SSO 适配器”模板或配置定义中的唯一标识符。

强制

configDesc

这是“SSO 适配器模板”值。“动态 SSO 适配器”配置字符串中的 configDesc 属性的值与“全局 SSO 适配器”字符串中的 configName 属性的值相同(假定两个字符串以相同的协议开头)。

强制


SSO 适配器模板及配置示例

以下两个示例介绍如何创建和共享门户频道配置。在这两个示例中,在“SSO 适配器”模板和配置之间分配的数据几乎完全相同。不过,第一个示例演示如何在全局范围内共享属性,而第二个示例演示如何在单个组织内共享属性。在这两个示例中,要求用户必须(在他们需要进行编辑时)输入用户 ID 和口令信息,这将使他们能够从桌面启动该频道。

在 SSO 适配器模板中定义服务器

在组织级别定义服务器

某些用户看不到配置更改

在对“SSO 适配器”模板和配置进行更改时(如下面的两个示例介绍的那样),并非所有用户都会在他们桌面上看到自己所做的更改。如果用户是通过从桌面编辑频道来对频道首选项进行编辑,他们将看不到管理员以后对任何现有或新频道所做的更改。在“某些用户看不到配置更改”中介绍了这些用户实现管理员配置的步骤。

在 SSO 适配器模板中定义服务器

本部分介绍在全局共享的服务器上配置 SSO 适配器模板。因此,全局级的各个子部分(从组织到角色)将共享相同的配置。有关在组织级别配置服务器的信息,请参阅“在组织级别定义服务器”

在本配置的最后,在其“桌面”中将会出现一个“邮件”频道,其中“邮件”频道是可编辑的,并且用户只需输入身份验证信息(用户 ID (uid) 和口令)即可完成配置。

下例将创建一个新的“SSO 适配器”模板、“SSO 适配器”配置和“邮件”频道。

  1. 添加新的“SSO 适配器”模板,在本例中,将其命名为 credentialMailTemplate
    1. 在 Internet 浏览器中,以 http://hostname:port/amconsole 地址形式(如 http://psserver.company22.example.com:80/amconsole)登录到 Sun ONE Identity Server 管理控制台
    2. 单击“服务配置”标签,以在导航窗格中显示可配置服务的列表。
    3. 向下滚动导航窗格至“单点登录适配器配置”,然后单击“SSO 适配器”旁边的箭头,在数据窗格中调出“SSO 适配器”页。
    4. 在空白配置描述字段(就位于“添加”和“删除”按钮上方)中单击,该字段内容位于与“动态”相对的“全局”标题下的标签为“SSO 适配器模板”的框中。
    5. 在空白配置描述字段中,键入随后在代码示例 H-3 中所示的整个“SSO 适配器模板”字符串;用您站点的特定信息替换变量信息,除非特殊示例中的信息也适合您的站点(因此,如果不用全部替换,就请替换其中的某些部分,如下列各值:
      credentialMailTemplatecompany22.example.com:143company22.example.comtrue1080)。
    6. 如果此字段在您开始看到它时并不是空白的,请选中字段中的所有文本,将其删除。

      代码示例 H-3 用于全局共享的邮件 SSO 适配器模板

      default|imap://company22.example.com:143/?configName=credentialMailTemplate

          &encoded=password

          &default=protocol

          &default=clientProtocol

          &default=type

          &default=subType

          &default=enableProxyAuth

          &default=proxyAdminUid

          &default=proxyAdminPassword

          &default=ssoClassName

          &default=enablePerRequestConnection

          &default=userAttribute

          &default=host

          &default=port

          &default=smtpServer

          &default=clientPort

          &default=smtpPort

          &enableProxyAuth=false

          &proxyAdminUid=[PROXY-ADMIN-UID]

          &proxyAdminPassword=[PROXY-ADMIN_PASSWORD]

          &type=MAIL-TYPE

          &subType=sun-one

          &ssoClassName=com.sun.ssoadapter.impl.JavaMailSSOAdapter

          &enablePerRequestConnection=true

          &userAttribute=uid

          &clientProtocol=http

          &smtpServer=company22.example.com

          &sentFolderCopy=true

          &clientPort=1080

          &smtpPort=25

          &merge=uid

          &merge=password

    7. 单击“添加”。
    8. 单击“保存”。
    9. 此时,可能有不止一个字符串以 IMAP 协议开头。这是可以接受的。

  2. 添加新的“SSO 适配器配置”,在本例中,将其命名为 credentialMail为站点选择自己想要的模板名。
    1. 在 Internet 浏览器中,以 http://hostname:port/amconsole 地址形式(如 http://psserver.company22.example.com:80/amconsole)登录到 Sun ONE Identity Server 管理控制台
    2. 单击“标识管理”标签,以在导航窗格中显示“查看”下拉列表。
    3. 在“查看”下拉列表中选择“服务”,以显示可配置服务的列表。
    4. 向下滚动导航窗格至“单点登录适配器”配置标题,然后单击“SSO 适配器”旁的箭头,在数据窗格中调出“SSO 适配器”页。
    5. 在空白配置描述字段(就位于“添加”和“删除”按钮上方)中单击。
    6. 在空白配置描述字段中,键入下行代码,其中对于本例,配置名为 credentialMail,配置描述为 credentialMailTemplate(可用您站点的特定信息替换配置名和配置描述所用的名称):
    7. default|imap:///?configName=credentialMail
      &configDesc=credentialMailTemplate

      如果此字段在您开始看到它时并不是空白的,请选中字段中的所有文本,将其删除。

    8. 单击“添加”。
    9. 单击“保存”
  3. 在“桌面”上添加一个新的“邮件频道”。在本例中,新频道的名称是 CredentialMailChannel
    1. 在 Internet 浏览器中,以 http://hostname:port/amconsole 地址形式(如 http://psserver.company22.example.com:80/amconsole)登录到 Sun ONE Identity Server 管理控制台
    2. 单击“标识管理”标签,以在导航窗格中显示“查看”下拉列表。
    3. 在“查看”下拉列表中选择“服务”,以显示可配置服务的列表。
    4. 向下滚动导航窗格至“Portal Server 配置”标题,单击“Portal 桌面”旁的箭头,以在数据窗格中调出“Portal 桌面”页。
    5. 单击“频道和容器管理”链接。
    6. 在“频道”标题下面,单击“新建”。
    7. 在“频道名称”字段中,键入新频道的名称,对于本例为 CredentialMailChannel
    8. 在“提供者”下拉菜单中,选择 MailProvider。
    9. 单击“确定”,系统会返回到“频道和容器管理”网页,该页上现已有了您刚创建的频道。
    10. 在“频道”标题下面,单击刚创建频道名称旁边的“编辑属性”,在本例中,频道名为 CredentialMailChannel
    11. 在“标题”字段中,选择并删除任何现有文字,例如 mail,然后键入提供者标题,对于本例为 Credential Only Mail Account
    12. 在描述字段中,选择并删除任何现有文字,例如 mail,然后键入提供者描述,对于本例还是 Credential Only Mail Account
    13. 向下滚动页面(仍在数据窗格中);选择并删除“ssoAdapter”字段中的任何现有文字,例如 SunOneMail;然后键入“SSO 适配器”配置名称,该名称与步骤 2 中所用的名称相同,对于本例为 credentialMail
    14. 滚动到所需位置,单击“保存”。
    15. 向上回滚页,单击顶部一词,它是跟在文字容器路径后的第一项。
    16. 向下滚动到“容器频道”标题,然后单击想添加新频道的容器的链接。例如,MyFrontPageTabPanelContainer。不要单击旁边的“编辑属性”链接。
    17. 在“频道管理”标题下面,单击刚创建频道的名称。例如 CredentialMailChannel,它位于“现有频道”列表中。
    18. 单击“可用并可见”列表旁的“添加”按钮。这样,用户无需再进行配置,便可使用并见到该频道。
    19. 向上回滚页,在“频道管理”标题下单击“保存”。
    20. 您已经将一个新的“邮件”频道添加到“桌面”上。现在,限制最终用户单击“邮件”频道中的编辑按钮时所看到(从而能够编辑)的字段。将只保留用户 ID 和口令字段。

  4. 使用 Identity Server 管理控制台从 Directory Server 检索组织的显示配置文件文档。请参阅“下载和上载显示配置文件” ,并遵循下载和(本地)保存显示配置文件文档的步骤进行操作。
  5. 使用所选编辑器打开显示配置文件文档和查找在步骤 3 创建的频道的名称,例如CredentialMailChannel。需要查找的那部分文本与下列内容相似:
  6. <Channel name="CredentialMailChannel" provider="MailProvider" merge="replace">

         <Properties>

           <String name="title" value="Credential Only Mail Account"/>

           <String name="description" value="Credential Only Mail Account"/>

           <String name="ssoAdapter" value="credentialMail"/>

         </Properties>

    </Channel>

  7. 添加一个 SSOEditAttributes 集合,该集合只包含 uidpassword。此类集合与下列内容相似:
  8. <Collection name="ssoEditAttributes">

         <String name="uid" value="string|User Name:"/>

         <String name="password" value="password|User Password:"/>

    </Collection>

    添加了此类集合之后,频道定义将与下列内容相似:

    <Channel name="CredentialMailChannel" provider="MailProvider" merge="replace">

         <Properties>

           <String name="title" value="Credential Only Mail Account"/>

           <String name="description" value="Credential Only Mail Account"/>

           <String name="ssoAdapter" value="credentialMail"/>

           <Collection name="ssoEditAttributes">

               <String name="uid" value="string|User Name:"/>

               <String name="password" value="password|User Password:"/>

             </Collection>

           </Properties>

    </Channel>

  9. 使用 Identity Server 管理控制台上载新编辑的显示配置文件文档。请参阅“下载和上载显示配置文件” 。这一次,请遵循上载显示配置文件的步骤进行操作。
  10. 创建一个新的门户最终用户并进行验证使其可以访问桌面(可选)。
  11. 如果创建新用户,他们将会在其 Portal 桌面上看到您刚刚所做的配置更改。先前未通过其桌面配置过任何频道的现有用户也将看到您刚刚所做的更改。但是,曾通过其桌面配置了频道的现有用户将不会看到您刚刚所做的更改。要使他们能够看到上述更改,请参阅“某些用户看不到配置更改”

    1. 单击“标识管理”标签(如果尚未选中该标签),以在导航窗格中显示“查看”下拉列表。
    2. 在“查看”下拉列表中选择“用户”。
    3. 单击“新建”,以在数据窗格中显示“新用户”页面。
    4. 在要分配给用户的服务旁边的复选框中单击。
    5. 至少要选中“Portal 桌面”和“SSO 适配器”。

    6. 在相应的文本字段中输入用户信息,可根据需要进行滚动。
    7. 滚动到所需位置,单击“保存”。
    8. 此时新用户的名称会出现在导航窗格中。

在组织级别定义服务器

本部分介绍如何在组织级别配置“SSO 适配器”模板。本例中的“SSO 适配器”模板和“SSO 适配器”配置所使用的数据与“在 SSO 适配器模板中定义服务器”中的示例所使用的数据几乎完全相同。但是,在下例中,多数属性出现在“SSO 适配器”配置中,而在“SSO 适配器”模板中出现的属性较少。将属性放在“SSO 适配器”配置中允许您在一个组织内共享这些属性,而不是在全局范围内共享属性。

下例将创建新的“SSO 适配器”配置和“邮件”频道。该例使用了默认的“SSO 适配器”模板。您无需再创建另一模板:

代码示例 H-4 用于在组织内进行共享的邮件 SSO 适配器模板

default|imap:///?configName=SUN-ONE-MAIL

  &encoded=password

  &default=ssoClassName

  &default=protocol

  &default=clientProtocol

  &merge=host

  &merge=port

  &merge=uid

  &merge=password

  &merge=smtpServer

  &merge=smtpPort

  &merge=sentFolderCopy

  &merge=clientPort

  &clientProtocol=http

  &ssoClassName=com.sun.ssoadapter.impl.JavaMailSSOAdapter

  1. 添加新的“SSO 适配器配置”,在本例中,将其命名为 orgCredentialMail。为站点选择自己想要的名称。
    1. 在 Internet 浏览器中,以 http://hostname:port/amconsole 地址形式(如 http://psserver.company22.example.com:80/amconsole)登录到 Sun ONE Identity Server 管理控制台。
    2. 单击“标识管理”标签,以在导航窗格中显示“查看”下拉列表。
    3. 在“查看”下拉列表中选择“服务”,以显示可配置服务的列表。
    4. 向下滚动导航窗格至“单点登录适配器”配置标题,然后单击“SSO 适配器”旁的箭头,在数据窗格中调出“SSO 适配器”页。
    5. 在空白配置描述字段(就位于“添加”和“删除”按钮上方)中单击。
    6. 在空白配置描述字段中,键入下行代码,其中对于本例,配置名为 orgcredentialMail,配置描述为 SUN-ONE-MAIL;用您站点的特定信息替换变量信息,除非这里使用的变量例子也适合您站点的信息(因此,如果不用全部替换,就请替换其中的某些部分,如下列各值: company22.example.com:143orgcredentialMailccompany22.example.comtrue, 108025)。
    7. default|imap://company22.example.com:143/?configName=orgCredentialMail
      &configDesc=
      SUN-ONE-MAIL
      &smtpServer=company22.example.com
      &sentFolderCopy=true
      &clientPort=1080
      &smtpPort=25

      如果此字段在您开始看到它时并不是空白的,请选中字段中的所有文本,将其删除。

    8. 单击“添加”。
    9. 单击“保存”。
    10. 此时,可能有不止一个字符串以 IMAP 协议开头。这是完全可以接受的。

  2. 在“我的扉页”标签中添加一个新的“邮件频道”;在本例中,新频道的名称为 OrgCredentialMailChannel
    1. 在 Internet 浏览器中,以 http://hostname:port/amconsole 地址形式(如 http://psserver.company22.example.com:80/amconsole)登录到 Sun ONE Identity Server 管理控制台
    2. 单击“标识管理”标签,以在导航窗格中显示“查看”下拉列表。
    3. 在“查看”下拉列表中选择“服务”,以显示可配置服务的列表。
    4. 向下滚动导航窗格至“Portal Server 配置”标题,然后单击“Portal 桌面”旁的箭头,以在数据窗格中调出“Portal 桌面”页。
    5. 单击“频道和容器管理”链接。
    6. 在“频道”标题下面,单击“新建”。
    7. 在“频道名称”字段中,键入新频道的名称,对于本例为 OrgCredentialMailChannel
    8. 在“提供者”下拉菜单中,选择 MailProvider。
    9. 单击“创建”,系统会返回到“频道和容器管理”网页,该页上现已有了您刚创建的频道。
    10. 在“频道”标题下面,单击刚创建频道名称旁边的“编辑属性”,在本例中,频道名为 OrgCredentialMailChannel
    11. 在标题字段中,选择并删除任何现有文字,例如 mail,然后键入提供者标题,对于本例为 Organization Defined Credential Only Mail Account
    12. 在描述字段中,选择并删除任何现有文字,例如 mail,然后键入提供者描述,对于本例还是 Credential Only Mail Account
    13. 向下滚动页面(仍在数据窗格中);选择并删除 ssoAdapter 字段中的任何现有文字,例如 sunOneMail;然后键入“SSO 适配器”配置名称,该名称与步骤 1 中所用的名称相同,对于本例为 orgCredentialMail
    14. 滚动到所需位置,单击“保存”。
    15. 向上回滚页,单击顶部一词,它是跟在文字容器路径后的第一项。
    16. 向下滚动到“容器频道”标题,然后单击想添加新频道的容器的链接。例如,MyFrontPageTabPanelContainer。不要单击旁边的“编辑属性”链接。
    17. 在“频道管理”标题下面,单击刚创建频道的名称。例如 OrgCredentialMailChannel,它位于“现有频道”列表中。
    18. 单击“可用并可见”列表旁的“添加”按钮。这样,用户无需再进行配置,便可使用并见到该频道。
    19. 向上回滚页,在“频道管理”标题下单击“保存”。
    20. 您已经将一个新的“邮件”频道添加到“桌面”上。对于这种类型的配置,最终用户单击此频道的编辑按钮时,除了用户 ID 和口令,所有需要他们填写的可编辑字段都将填写。如果您希望删除所有字段(用户 ID 和口令字段除外),请遵循在 SSO 适配器模板中定义服务器部分中从步骤 4 开始的步骤

  3. 创建一个新的门户用户并进行验证使其可以访问桌面(可选)。
  4. 如果创建新用户,他们将会在其 Portal 桌面上看到您刚刚所做的配置更改。先前未通过其桌面配置过任何频道的现有用户也将看到您刚刚所做的更改。但是,曾通过其桌面配置了频道的现有用户将不会看到您刚刚所做的更改。要使他们能够看到上述更改,请参阅“某些用户看不到配置更改”

    1. 单击“标识管理”标签(如果尚未选中该标签),以在导航窗格中显示“查看”下拉列表。
    2. 在“查看”下拉列表中选择“用户”。
    3. 单击“新建”,以在数据窗格中显示“新用户”页面。
    4. 在要分配给用户的服务旁边的复选框中单击。
    5. 至少要选中“Portal 桌面”和“SSO 适配器”。

    6. 在相应的文本字段中输入用户信息,可根据需要进行滚动。
    7. 滚动到所需位置,单击“保存”。
    8. 此时新用户的名称会出现在导航窗格中。

某些用户看不到配置更改

管理员通过编辑或创建“SSO 适配器”模板和配置来对频道配置进行更改(包括添加新频道)。这些更改并不会影响到所有用户。受影响的用户为:

但是,对于先前曾更改过一个或多个频道配置的用户(这是通过从其桌面中编辑频道来进行的),管理员需要在用户级别直接进行配置更改方能使这些更改生效。例如,当管理员在全局、组织或角色级别添加频道时,该频道不会出现在这些用户的桌面上。

“服务类”在 Directory Server 中的工作方式是这种情况出现的原因。配置一个或多个频道的用户会改写“SSO 适配器”模板和配置。此后,对于上述用户而言,在用户级别不会再继承管理员在全局、组织或角色级别添加的值。

因此,要为先前曾更改了一个或多个频道配置的每个用户在用户级别直接对更改进行配置。通常,更方便的方法是:首先为其他用户配置更改,然后直接在用户级别为需要上述模板和配置字符串的用户复制并粘贴这些字符串;以下说明假定您将采用这种方式来配置更改。但是,如果您愿意,可以直接在用户级别键入配置字符串,而不用进行复制和粘贴。

在为其他用户进行完配置更改后,可采用以下两种方法之一直接在用户级别为需要更改的用户进行配置更改:

一到少量用户的用户级配置更改

将您刚刚为其他用户编辑或创建的“SSO 适配器”模板字符串或“SSO 适配器”配置字符串复制并粘贴给需要在用户级别直接进行更改的用户,步骤如下:

  1. 从“SSO 适配器”配置中复制字符串:
    1. 在 Internet 浏览器中,以 http://hostname:port/amconsole 地址形式(如 http://psserver.company22.example.com:80/amconsole)登录到 Sun ONE Identity Server 管理控制台
    2. 单击“标识管理”标签,以在导航窗格中显示“查看”下拉列表。
    3. 在“查看”下拉列表中选择“服务”,以显示可配置服务的列表。
    4. 向下滚动导航窗格至“单点登录适配器配置”标题,然后单击“SSO 适配器”旁的箭头,在数据窗格中调出“SSO 适配器”页。
    5. 单击要复制的字符串,例如“default|http:///...”、“default|imap:///...”等。
    6. 当您刚刚选择的字符串出现在配置描述字段(该字段就在“添加”和“删除”按钮上方)中时,选择并复制字段的整个内容,然后继续进行步骤 2
  2. 在 Sun ONE Identity Server 管理控制台中,单击“标识管理”标签,以在导航窗格中显示“查看”下拉列表。
  3. 在“查看”下拉列表中选择“用户”,以显示 Sun ONE Portal Server 用户列表。
  4. 单击要编辑用户级配置的用户旁边的箭头以显示另一个“查看”下拉列表(不过是在数据窗格中)。
  5. 在数据窗格的“查看”下拉列表中单击“SSO 适配器”。
  6. 在配置描述字段(就位于“添加”和“删除”按钮上方)中单击。
  7. 在配置描述字段中,将您在步骤 1 中所复制的“SSO 适配器”配置字符串粘贴到此处。
  8. 滚动到最右端,翻过“SSO 适配器配置”框。
  9. 从下拉列表中选择“定制”,如果尚未选中该项的话(可能的选择项有“定制”、“继承”和“忽略”)。
  10. 滚动到左侧所需位置,单击“保存”。

大量用户的用户级配置更改(使用脚本)

要将配置更改直接在用户级别应用于许多位用户,需要创建一个由简单脚本组成的文件,这些脚本主要用于标识特定用户,以及想要将这些用户中的每一位连接到的特定“SSO 适配器”模板和配置。

然后需要发出一条引用此文件的 ldapmodify 命令;接下来,此文件会通过在脚本中实现用户配置更改来修改 Directory Server。

  1. 使用您站点特定的信息,创建一个与代码示例 H-5 中的文件相类似的文件。
    • 使用 .ldif 后缀为此文件命名。
    • 在文件中,为需要在用户级别直接配置“SSO 适配器”的每个用户分别创建一个单独的条目。
    • 其中每一位用户包括四行代码。
    • 以下示例文件仅包括两个示例条目。该文件被命名为 attr.ldif;两位用户分别被命名为 user1user2;组织名为 example;配置名(即这两位用户恰巧引用的“SSO 适配器”配置的名称)为 group1imapmail;配置描述(它用于标识 group1imapmail 配置将要引用的“SSO 适配器”模板)为 everyoneimap。在本例中,它对于两个用户是相同的。

      代码示例 H-5 一个名为 attr.ldif 且其中含有用于 Directory Server 的脚本的文件

      dn: uid=user1,ou=People,o=example.com,o=isp

      changetype:modify

      add:sunSSOAdapterConfigurations

      sunSSOAdapterConfigurations:

        default|imap:///?configName=group1imapmail&configDesc=everyoneimap

      dn: uid=user2,ou=People,o=example.com,o=isp

      changetype:modify

      add:sunSSOAdapterConfigurations

      sunSSOAdapterConfigurations:

        imap:///?configName=group1imapmail&configDesc=everyoneimap

  2. 使用与代码示例 H-6 所用的命令相似的 ldapmodify 命令,将您在步骤 1 中创建的文件发送给 Directory Server。在输入上述命令代码时,请使用您站点特定的信息。
  3. 下例列出了将文件发送给 Directory Server 进行读取时所需的命令。以下信息特定于本示例站点:口令为 mypassword,主机名为 localhost;端口号为默认值 389;将要发送的文件被命名为 attr.ldif。

    代码示例 H-6 将名为 attr.ldif 的文件发送给 Directory Server

    setenv LD_LIBRARY_PATH Directory-server-install-dir/lib

    Directory-server-install-dir/shared/bin/ldapmodify -D "cn=Directory Manager

      " -w mypassword -h localhost -p 389 -f attr.ldif

    上述代码首先设置路径 LD_LIBRARY_PATH 并指示 ldapmodify 命令的位置。然后,发出 ldapmodify。下面总结了与该命令一起使用的每个选项:

    -D

    指定用于绑定到目录的区别名,本例中为 “cn=Directory Manager”

    -w

    指定用于进行目录验证的口令,本例中为 mypassword

    -h

    指定运行 Directory Server 的主机,本例中为 localhost

    -p

    指定 Directory Server 通过哪个端口进行侦听,本例中为默认端口 389

    -f

    指定 Directory Server 要读取的文件,本例中为 attr.ldif

    有关 ldapmodify 命令的详细信息,请参阅 Sun ONE Directory Server 管理员指南



上一页      目录      索引      下一页     


版权所有 2003 Sun Microsystems, Inc. 保留所有权利。