本节说明需要在使用方端执行的活动。
以下主题在讨论之列:
要与生成方提供的 Portlet 进行通信,使用方需要添加已配置生成方。如果生成方需要注册,请使用以下方法添加已配置生成方:
通过输入注册属性值(带内注册)
通过输入注册句柄(带外注册)
如果生成方无需注册,则使用方添加已配置生成方时无需输入任何详细信息。
选择 "Portal" 选项卡。
从 "Portal" 选择一个门户服务器。
单击 "WSRP" 选项卡。
选择任意 DN,然后单击“新建”。
键入已配置生成方的名称。选择身份传播机制。默认情况下,已选择“无”。
身份传播机制允许使用方门户的用户向生成方门户提供其证书。用户可通过此机制在使用方门户和生成方门户之间联合其身份。
键入 WSDL URL,然后单击“下一步”。
还可根据生成方或 Portlet 搜索 WSDL URL。仅当生成方发布后,搜索结果才显示生成方的 WSDL URL。
如果生成方需要注册,可通过两种方法注册生成方:输入注册属性值(带内注册)或输入注册句柄(带外注册)。单击“下一步”。
如果您选择步骤 7 中的第一种方法,则输入注册属性并单击“下一步”。如果您选择第二种方法,则输入通过带外通信获得的注册句柄,然后单击“下一步”。
检查详细信息,然后单击“完成”。
psadmin create-configured-producer
身份传播是一种机制,通过它 WSRP 使用方可向 WSRP 生成方 Web 服务提供用户的身份。它是一种联合机制,用户在使用方和生成方之间联合其身份。成功联合后,使用方门户将用户身份传播给生成方门户。从使用方接收用户证书后,WSRP 生成方会验证证书,并允许或拒绝访问指定的用户上下文中的资源。
用户对于每个门户拥有两个身份。其中,一个用于生成方门户,而另一个用于使用方门户。用户使用提供的身份传播机制联合这两个身份。这就为使用方和生成方门户提供了单点登录机制。当用户通过使用方门户登录到门户时,用户获得直接登录到生成方门户时获得的内容。用户使用联合身份时所做的更改,将在用户登录到生成方门户时生效。
Sun Java System WSRP 生成方支持以下身份传播:
SSO 令牌:如果生成方门户和使用方门户均连接到同一 Access Manager 实例,那么选择它。通常建议用于生成方门户和使用方门户均部署于同一组织中的配置。
WSS 用户名令牌配置文件(仅用户名):使用 WSS 规范(用户名会作为 WS Security 标头从使用方门户传播到生成方门户)。
WSS 用户名令牌配置文件(带密码摘要):WS Security 标头发送以生成方为目标的用户 ID,并带有“摘要”格式的密码。
WSS 用户名令牌配置文件(带密码文本):WS Security 标头发送以生成方为目标的用户 ID,并带有“文本”格式的密码。
在上述列表中,最后三个选项实现 OASIS WSS 用户名令牌配置文件规范。此规范说明如何配合 Web 服务使用“用户名令牌”。WSS 规范说明 Web 服务使用方如何通过按照用户名验证请求者,以及选择性使用密码向 Web 服务生成方验证身份的方式,来提供“用户名令牌”。
许多门户供应商都支持和实现 OASIS WSS 用户名令牌配置文件规范。当需要互操作性时,请使用三个选项之一。
Portal Server 中有两级身份传播机制。首先,使用方门户的管理员发现生成方门户支持上述指定身份传播机制之一。则管理员可允许用户发送其身份。Portal Server 使用方支持所有上述提及的“身份传播机制”。
创建使用方后,管理员必须根据使用方支持的身份传播机制创建远程频道。频道在用户的“桌面”上可用之后,即准备好接受身份传播。
身份传播机制在生成方端自动设置。Portal Server 会先检查 Sun SSO 验证,接着是 OASIS 用户名令牌配置文件,然后是“无身份传播”模式。
只有新用户在运行 configuration 命令将 LDAP 密码存储为纯文本格式后,才能使用“摘要密码”工具。
创建使用方应为“用户身份传播机制”选择“WSS 用户名令牌配置文件(带密码摘要)”选项。
必须编辑“WebServices SSO Portlet”以选择相应的 Web 服务 URL(生成方),并提供新的用户名和密码。
执行以下操作以配置 Sun Java System WSRP 生成方接受“摘要密码”。
运行命令 /opt/SUNWdsee/ds6/bin/dscfg set-server-prop pwd-storage-scheme:CLEAR 更改 Directory Server 的密码存储模式,以便存储纯文本密码。
假定 Directory Server 的默认安装位置为 /opt/SUNWdsee。
在 AM 控制台中创建一个新用户,以确保可使用“用户名令牌配置文件(带密码摘要)”。
当使用“WSS 用户名令牌配置文件(带密码摘要)”时,应保护生成方门户和使用方门户之间的通信安全,因为密码以纯文本格式在使用方和生成方之间发送。
指向相同生成方 URL 的两个不同使用方应使用相同的身份传播机制类型。
如果用户使用身份传播机制,则您可以创建用户令牌配置文件来验证用户证书。您可以针对生成方提供的特定 Web 服务定义用户名和密码。
登录到 Portal Server 桌面。
在 WebServices SSO Portlet 中,单击“编辑”按钮。
在“创建新令牌配置文件”部分,选择您想要为其创建用户令牌配置文件的 WebService URL。
键入用户名和密码。单击“添加”。
您还可以编辑或删除现有的用户令牌配置文件。
使用方配置生成方后,以后可以使用“更新服务描述”选项来更新其后对生成方所做的任何更改。例如,添加新的 Portlet 或在注册后更改注册属性。
选择 "Portal" 选项卡。
从 "Portal" 选择一个门户服务器。
单击 "WSRP" 选项卡。
选择 DN(Distinguished Name,标识名)。
单击已配置的生成方链接。
在“编辑已配置生成方”屏幕中,单击“更新服务描述”。
psadmin update-configured-producer-service-description
WSRP 支持包含在生成方服务描述中的用户类别的概念。将用户类别映射到角色允许用户将使用方门户中定义的角色映射到 Portlet 中定义的角色。Sun Java System Portal Server 将 Java System Access Manager 的角色映射到 Portlet 的角色。这些角色可以映射到相应的 WSRP 用户类别。
您可以执行以下任务:
部署 Portlet 的同时,可在 Portlet 中定义角色。
Portlet 中定义的角色必须在生成方的 Access Manger 中存在。
以下任务在 Sun Java System Access Manager 的 amconsole 和 Portlet 中创建一个角色。
登录到 Access Manager 控制台。
创建一个角色并向其添加一个用户。
在 Portlet 应用程序的 webxml 中,添加以下代码:
<security-role>
<role-name>PS_TEST_DEVELOPER_ROLE<role-name>
</security-role>
在门户的 portlet.xml 中添加以下行。
<security-role-ref>
<role-name>PS_TEST_DEVELOPER_ROLE<role-name>
<role-link>PS_TEST_DEVELOPER_ROLE<role-link>
</security-role-ref>
创建 Portlet 应用程序 war 文件。
使用以下条目创建一个角色文件。
cn\=AM_TEST_DEVELOPER_ROLE,o\=DeveloperSample,dc\=india,dc\=sun,dc\=com=PS_TEST_DEVELOPER_ROLE
使用以下命令部署 Portlet。
/opt/SUNWportal/bin/psadmin deploy-portlet -u amadmin -f ps_password -d "o=DeveloperSample,dc=india,dc=sun,dc=com" -p portal1 -i stockprice-8080 --rolesfile rolesfile TestPortlet.war
执行以下操作将用户类别映射到角色:
在“使用方”选项卡中,单击生成方名称链接。
“编辑已配置生成方”屏幕显示以下各项:用户类别:生成方 Portlet 中的角色。本地角色:在使用方的 Sun Java System Access Manager 中定义的角色。
在“用户类别到角色的映射”部分,将用户类别映射到在使用方端定义的角色,然后单击“确定”。
WSRP 使用方的 Sun Java System Portal Server 实现将存储在 Sun Java System Directory Server 用户条目中的普通用户属性,映射到 WSRP 规范规定的标准用户属性集。
如果使用方 Portlet 使用任何未在 LDAP 模式中指定的属性,则创建一个自定义的对象类来存储这些属性,并将此对象类添加到用户条目。属性创建后,使用 Sun Java System Access Manager 管理控制台将 LDAP 属性映射到相应的 WSRP 属性。
需要为使用方和 Web 容器 XML 文件配置代理服务器。
您可以执行以下任务:
运行 ./cacaoadm get-param java-flags。
复制值并将其粘贴到 ./cacaoadm set-param java-flags。
现在,向该命令添加以下内容:-Dhttp.proxyHost= webcache.canada.sun.com -Dhttp.proxyPort=8080 -Dhttp.proxyUser= Proxyuser -Dhttp.proxyPassword=Password
按 Enter 键。
重新启动 common agent container 服务器。