WebSphere Portal 8.0的新特性:拥抱OpenID

OpenID 背景知识介绍

传统的身份认证是将用户信息存放在一个独立 的系统中,可能是目录服务器,数据库,本地文件系统或自定义的系统。认证时 ,用户提供用户名和密码,与用户信息系统进行核对,确认用户是否合法。而 OpenID 是一个去中心化的网上身份认证系统。对于支持 OpenID 的网站,用户 不需要记住像用户名和密码这样的传统验证标记。取而代之的是,他们只需要预 先在一个作为 OpenID 身份提供者(Identity Provider)的网站上注册,通过 在身份提供者网站的认证而完成支持 OpenID 的网站的认证,从而大大简化了身 份验证过程。

任何网站都可以使用 OpenID 来作为用户登录的一种方式 ,任何网站也都可以作为 OpenID 身份提供者。因为 OpenID 既解决了问题而又 不需要依赖于中心性的网站来确认数字身份,所以正在被越来越多的大网站采用 ,例如 Google, Facebook,myOpenID 和 Yahoo,他们都是 OpenID 身份提供 者。目前主流的 OpenID 规范有两种,一种是 OpenID 2.0,一种是 OAuth 1.0 。Google,myOpenID 和 Yahoo 采用的是 OpenID 2.0 规范,Facebook 采用的 是 OAuth 1.0 规范。

OpenID 规范只定义了基本的认证机制,在应用当 中,往往还需要与 OpenID 身份提供者之间进行用户属性的交换,因此在 OpenID 规范基础之上,还有两个关于属性交换的协议,SREG(Simple Registration)和 AX(Attribute Exchange)。SREG 只定义了一些常用的属性 ,例如 nickname,email 和 fullname。AX 更加复杂一些,它实际上可以交换 任何信息,只要交换的双方都定义了该属性。

WebSphere Portal 8.0 对 OpenID 的支持

WebSphere Portal 作为一个信息提供者,从 8.0 版本开始支持 OpenID , 用户可以通过配置指定自己支持哪些 OpenID 身份提供者,在登录界面选择适当 的身份提供者进行认证,从而达到认证 WebSphere Portal 的目的,进一步访问 网站内的个性化信息和服务。从实现角度讲,WebSphere Portal 是基于 WebSphere 应用服务器的,WebSphere 应用服务器本身提供一种插入点——信任 关联拦截器(Trust Association Interceptor,TAI),可以通过实现 TAI 来 完成认证的交接,WebSphere Portal 8.0 正是实现了 TAI,从而在 WebSphere 应用服务器和 OpenID 身份认证者之间建立信任关系。另外,即使配置了 OpenID 身份提供者,WebSphere Portal 用户仍然可以按照原有的方式进行登录 。

WebSphere Portal 中配置 OpenID 有两种方式,用户可以根据自己的 需要选择一种方式将外部用户整合到 WebSphere Portal 中,当然二者也可以混 合使用:

WebSphere Portal 中的一个用户与 OpenID 身份提供者的一个用户绑定,二 者一一对应。这种映射关系会存储到用户的属性中,具体存储在哪个属性里可以 在 WebSphere Portal 中进行定制。

将 OpenID 身份提供者的用户整体作为一个 WebSphere Portal 用户。管理 员可以统一为这些用户设置权限,而不需要他们在 WebSphere Portal 中重新注 册用户。这种配置方式对用户使用来说需要的步骤较少,而管理员需要做更多的 配置步骤。

这两种不同的配置方式中属性交换的配置位置是不同的。本文会以 OpenID 2.0 规范为例,具体介绍 WebSphere Portal 中配置 OpenID 的这两种方式和一 些使用示例。

OpenID 身份提供者用户与 WebSphere Portal 用户一一映 射的配置

这种配置方式中,OpenID 身份提供者的一个用户可以与 WebSphere Porta 的用户绑定,一一映射,例如 OpenID 身份者的一个用户名为 portal80user1, 与 WebSphere Portal 的用户 user1 绑定。当然,这不意味着 OpenID 身份提 供者的每个用户都与 WebSphere Portal 的用户映射,也不要求 WebSphere Portal 中的每个用户都与 OpenID 身份提供者的用户映射,这种映射关系可以 由用户自身指定,因此它存储在用户的某个属性里,具体存储在哪个属性是可以 定制的。

配置步骤

WebSphere Portal 可以同时配置多个 OpenID 身份提供者,例如 Google, Yahoo 和 myOpenID,管理员可以决定选择与哪些 OpenID 身份提供者配置。但 在配置之前,必须保证 WebSphere Portal 服务器的系统时间是正确的。假定 WebSphere Portal 服务器是安装在 Linux 操作系统上,管理员希望配置 Google 和 Yahoo 两个 OpenID 身份提供者,具体配置过程如下。

1. 运 行 enable-identityprovider-tai 任务

首先管理员需要运行 enable- identityprovider-tai任务:

./ConfigEngine.sh enable- identityprovider-tai -Didp.providerlist=openid \
-Dopenid.servicenames=Google,Yahoo - Dopenid.servicenames.endpoints=\
https://www.google.com/accounts/o8/id,http://me.yahoo.com \
-DWasUserId=wpsadmin -DWasPassword=wpsadmin

该任务中使用的定制参数含义如下:

-Didp.providerlist

指定支持的 OpenID 身份提供者类型列表。如果是配置 Google 和 Yahoo 等 满足 OpenID 2.0 规范的身份提供者,那么该参数值是 openid ,如果是配置 FaceBook 等满足 OAuth 1.0 的身份提供者,那么该参数值是 facebook。在我 们的假定情况下,这个参数应该是 openid。

-Dopenid.servicenames

如果配置 OpenID 2.0 的身份提供者,该参数应列出需要配置的身份提供者 列表。在我们的假定情况下,这个参数应该是 Google,Yahoo。

-Dopenid.servicenames.endpoints

OpenID 身份认证者的端点 URL,如果配置了多个身份认证者,这里应该一一 列出,所以这个参数列表中参数的个数应该和 -Dopenid.servicenames一致。在 我们假定的情况下,这个参数应该是 https://www.google.com/accounts/o8/id,https://me.yahoo.com/。

值得注意的是,这个任务是可以反复运行的,第二次运行的结果会覆盖前一 次,也就是说,如果用户想增加一个支持的 OpenID 身份提供者,在重新运行这 个任务时,必须在参数中把原有的身份提供者和新增的身份提供者都列出。

2. 修改 Profile Management 和 Login 两个 portlet 的配置参数

为了在界面中显示那些为支持 OpenID 设计增加的元素,需要对 Profile Management 和 Login 两个 Portlet 进行额外的配置。这些配置必须 以管理员的身份去做。

首先作为管理员登录 WebSphere Portal,浏览到 Administration>Portlet Management>Portlets,找到 Login Portlet, 点击 Configure portlet 按钮,修改以下参数并保存:

show_idp_option

是否显示 Login portlet 中为支持 OpenID 而设计的元素,缺省是 false, 在我们的假定情况中应该设置成 true。

show_idp_max

显示的 OpenID 身份提供者的最大数目。缺省是 4,在我们的假定情况下可 以设置成 2。

providername.image

身份提供者的图标。Login portlet 缺省没有这个参数,需要管理员添加。 如果配置多个身份提供者,会有多个这样的参数。在我们的假定情况中,需要添 加下面的两个参数。如果没有指定,图标上的内容(文字)会是身份提供者的名 字。

Google.image: https://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif

Yahoo.image: http://l.yimg.com/a/i/ww/met/yahoo_logo_us_061509.png

然后找到 Profile Management portlet,点击 Configure portlet 按钮 ,修改以下参数并保存:

show_idp_option

是否显示 Login portlet 中为支持 OpenID 而设计的元素,缺省是 false, 在我们的假定情况中应该设置成 true。

show_idp_max

显示的 OpenID 身份提供者的最大数目。缺省是 4,在我们的假定情况下可 以设置成 2。

providername.image

身份提供者的图标。Login portlet 缺省没有这个参数,需要管理员添加。 如果配置多个身份提供者,会有多个这样的参数。在我们的假定情况中,需要添 加两个参数,如下所示。如果没有指定,图标上的内容(文字)会是身份提供者 的名字。

Google.image: https://www.google.com/intl/en_ALL/images/logos/images_logo_lg.gif

Yahoo.image: http://l.yimg.com/a/i/ww/met/yahoo_logo_us_061509.png

3. 拷贝必要的文件

将以下文件拷贝至 AppServer_root\lib\ext 目录下:

PortalServer_root\prereqs.infra\prereq.commons.httpclient\lib \ext\commons-codec-1.3.jar PortalServer_root\prereqs.infra\prereq.commons.httpclient\lib\ext\comm ons-httpclient-3.0.1.jar

4. 获取 OpenID 身份提供者的 SSL 证书

作为管理员登录到 WebSphere 集成解决方案控制台(Integrated Solutions Console),浏览至 Security>SSL certificate and key management,在 Configuration settings 下点击 Manage endpoint security configurations,在 Outbound>hostname>nodes>node_name>servers 中,选择 WebSphere_Portal,然后在 Related Items 中选择 Key stores and certificates。

单击 NodeDefaultTrustStore,在 Additional Properties 中选择 Signer certificates。

然后为每个 OpenID 身份提 供者单击 Retrieve from port,填入以下信息:

Host

OpenID 身份提供者的端点,不包含协议头。在我们假定的情况中,为 Google 应该输入 www.google.com,为 Yahoo 应该输入 me.yahoo.com。

Port

OpenID 身份提供者的端口号,通常是 443。

Alias

为 SSL 证书指定别名,名字可以是任意的,但最好能标识身份提供者。例如 为 Google 可以输入 Google,为 Yahoo 可以输入 Yahoo_cert 等。

点击 Retrieve signer information,获取身份提供者的 SSL 证书,然后保 存。在我们假设的情况下,这里会分别为 Google 和 Yahoo 获取证书并保存。

5. 重启 WebSphere Portal 服务器

在 wp_profile_root/bin目 录下运行以下命令,重启 WebSphere Portal 服务器,使得以上配置生效。

./stopServer.sh WebSphere_Portal -username admin_userid - password admin_password ./startServer.sh WebSphere_Portal

配置完成后,WebSphere Portal 的登录页面会如图一所示。

图 1. 配置 OpenID 后 WebSphere Portal 的登录页面

时间: 2024-11-03 15:07:48

WebSphere Portal 8.0的新特性:拥抱OpenID的相关文章

WebSphere Portal 8.0的新特性:全新的配置向导助手

WebSphere Portal 配置向导的背景介绍 WebSphere Portal 里的配置 向导一向是用户所喜爱的工具,它可以帮助用户简化配置过程,原本需要用户自 己手工修改配置文件中的大量配置参数,现在只需要跟随配置向导一步一步填写 简单的信息就行了.简单来说配置向导主要是从几个方面来简化配置流程的: 针对用户所要完成的任务,配置向导将此任务所有相关的配置参数都挑选了 出来,并按照它们之间的关系分组放在不同的步骤中.这样避免了让用户自己从 纷杂的上百个配置参数判断哪些参数是需要修改,哪些

近距离体验WebSphere Portal V8.0的新一代安装方式

WebSphere Portal V8.0 安装简介 WebSphere Portal 8.0 提供了两种主要的安装方式以满足不同用户需要: 向导式安装(也称图形界面安装)和静默安装,两种安装方式都使用 IBM Installation Manager 作为安装管理工具.其中,向导式安装实现了对客户的 简单化引导,这种安装方式必须且只能在支持图形桌面的操作系统上执行(见表 1),普遍适用于安装单个 Portal 8.0 或在不同操作系统上安装 Portal 8.0 的情形:静默安装方式被所有类型

轻松上手安装并使用IBM WebSphere Portal V8.0

这种全新的安装方式为用户提供便捷的操作界面,可以将产品的安装.卸载.小版本升级.小版本回滚.功能部件的更新等操作集成于一体,是 http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Portal 自问世以来一次历史性的改革. 了解 WebSphere Portal V8.0 这种全新的安装方式是所有用户着手部署 Portal 环境以及了解.享受 WebSphere Portal 8.0 新特性的的第一步,本文将带您近距离

如何实现Websphere Portal 6.0与Cognos 8集成应用开发

目的 国内使用 Cognos 的客户群已经达到很大的规模,同时,WebSphere Portal 已经作为越来越成熟的应用集成和个性化定制产品被广大有相关需求的企业所接受.这样,如何把 Cognos 整合到 Portal中,已是越来越多的客户关注的问题.在这之前,由于 Cognos 与 WebSphere Portal 是两款具有不同特性和使用场景的产品(例如:Cognos 默认安装基于 Tomcat,不使用 LDAP.而 Portal 一般基于 WAS 和 LDAP 作为用户存储),所以二者虽

使用IBM Installation Manager完美打造WebSphere Portal 8.0

在 V8.0 中,http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere Portal 不负众望,成功的引入了这一新工具.本文就将为您介绍 Installation Manager 的特征,Portal 安装包的相应变化,新工具如何支持 Portal V8.0 家族中的不同产品,以及使用过程中的调试和错误追踪. 事实上,Installation Manger 工具不是第一次出现在 IBM 的产品中了,WebSphere®

在低版本的vc中使用vc 10.0的新特性

/*! 在低版本的vc中使用vc 10.0的新特性 created by : andrew.wu (erpingwu@gmail.com) */ vc 10.0提供了一些新的特性,最引人注目的莫过于lambda, 但vs2010 beta内存占用之多也不得不让人心生退让. 高手 7cat 指出 "vc ide 只是一个壳" 那么如果利用 vc 10.0 编译器的新功能? 以vc9为例, 注意 Tools->Projects and Solutions->VC++ Direc

Spring 2.0的新特性点评

Spring2.0的发布恐怕算得上2006年Java社区的一件大事了.在Spring2.0发布附带的文档里面对2.0新特性做了概要的介绍,2.0的新特性是自然是我们最关注的方面: 一.Spring的XML配置引入XML Schema语法简化配置 在Spring1.x系列中,bean的配置文件使用DTD,没有namespace的分隔.2.0的一个非常大的改进是引入了XML Schema的namespace,因而可以将bean的配置文件做大幅度的简化.这些简化包括了对bean属性的各种简化,AOP配

《Ext JS实战》——1.4 Ext JS 3.0的新特性

1.4 Ext JS 3.0的新特性 Ext JS 2.0中引入的一些变化是颠覆性的,这就导致从级到2.0相当困难.这主要是因为这一版引入了一个更加现代的布局管理器以及一个崭新的.健壮的组件层次,许多Ext JS 1.x的代码都会因此而崩溃.值得庆幸的是,由于Ext JS 2.0的良好的工艺设计,从Ext JS 2.0到3.0的移植就非常容易了.尽管Ext JS 3.0新增的内容并不怎么神奇,不过最新的版本还是可圈可点的,有些新增的特性还是值得讨论的. 1.4.1 Ext JS通过Direct完

[测验]C# 3.0新特性也已经基本定稿了,各种资料层出不穷,但大家对C# 2.0的新特性有多少了解呢?测验一下。

问题描述 入门题:以下哪个特性不是C#2.0的新特性:A.::命名空间别名限定符B.运算符重载C.空值类型D.匿名方法E.迭代器语法记忆题:以下哪个关键字不是C#2.0新增的:A.yeildB.globalC.fromD.fixedE.where提高题:以下关于匿名方法的说法,哪个是错的?A.匿名方法没有方法名B.匿名方法以委托的形式存在C.匿名方法方法参数类型是自动推断的D.匿名方法返回值类型是自动推断的E.匿名方法不能直接赋值给没有方法签名的Delegate类型对象.终极题:嗯嗯,既然是终极