专利名称:在Web环境中为用户提供身份管理的方法和装置的制作方法
技术领域:
本发明涉及网络身#^人证,更具体地,涉及不同Web应用之间的安全访问。
背景技术:
随着Web环境的丰富,用户通常在多个Web应用中注册帐户,通过 各种Web应用实现各种不同的功能。例如, 一个用户可能同时在分别具有 博客、网络相册、网络交友功能的3个Web应用中进4亍注册,通过登录这 3个Web应用来实现编辑博客文章、浏览照片、浏览朋友信息等多种功能。 随着用户注册的Web应用的增多和以用户为中心的身伤4人证技术的推广, 越来越多的用户希望使用第三方身份提供商(identity provider, IdP )来 统一地进行在多个Web应用的身伤4人证。同时,Web应用的提供商也希 望能够通过第三方IdP将多种Web应用整合在一起,来提供更为强大的功 能,由此吸引更多的用户。
利用IdP进行身杨4人证的过程可以分为从IdP端发起的身伤4人证和从 服务提供端,即Web应用端发起的身份认证。由IdP端发起的身伤4人证过 程的主要步骤包括用户通it^户端浏览器直接访问IdP, IdP要求用户 输入用户名和口令;由IdP中ID(身份)管理器接收用户输入的信息,并 对此信息进行核查;核查无误后,将所述身份信息通过浏览器转送至Web 应用中的身份代理(proxy),由此Web应用识别出用户的身份,为用户 提供所需的资源。由Web应用端^的身伤4人证过程包括用户通it^户 端浏览器访问所需要的Web应用,Web应用通过浏览器跳转至IdP;类似 地,IdP要求用户输入与身份相关的登录信息,并由其中的ID管理器接收 登录信息,进行核查;核查无误后,再将身份信息通过浏览器转送回Web应用中的身份proxy,由此Web应用识别出用户的身份,为用户提供所需 的资源。
通过上述过程,用户可以利用IdP实现在Web应用的身伤^人证,也就 是IdP与Web应用之间的身份共享。然而,上述机制并不支持不同Web 应用之间的互相访问。如果用户希望一个Web应用4戈表自己去访问另一 Web应用,例如,希望博^^呈序以自己目前登录的身份访问网络相册,从 中获取自己的照片,那么就带来不同的Web应用之间如何进行安全访问的 问题。
为解决不同Web应用之间安全访问的问题, 一种方案是在访问请求中 转发SAML (安全性断言标记语言)令牌(token )。这个过程中需要对令 牌进行交换和验汪,因此增加了 Web应用的响应时间,效率有待提高。此 外,这种方案要将与用户身份相关的信息插入到Web应用的代码中,带来 安全上的隐患。另一种方案是以资源提供者为中心的解决方案,其中资源 提供者定义一些应用程序接口,允许其他应用访问他们的资源。然而,不 同的资源提供者往往具有其专门的设计和解决方案,因此,这种方式并不 能提供普适的跨应用访问。相应地,需要以更为安全有效的方式进行Web 应用之间的安全i方问。
发明内容
考虑到上述问题和目的,本发明提供在不同Web应用的互相访问中为 用户提供身份管理的方法和装置。
根据本发明第一方面,提供一种在Web环境中为用户提供身份管理的 方法,其中在所述Web环境中,第一 Web应用代表所述用户访问第二 Web应用,所述方法包括创建关联列表,用于记录所述用户与第一 Web 应用的第一会话标识和所述用户与第二 Web应用的第二会话标识及其之 间的关联;以及响应于从第一Web应用接收到的会话标识请求,根据所述 会话标识请求中的第 一会话标识在所述关联列表中查找与其关联的第二会 话标识,并将查找到的第二会活标识返回给第一 Web应用。
7根据本发明第二方面,提供一种从第一 Web应用代表某用户访问第二 Web应用的方法,包括将所述用户与该第一 Web应用的第一会活标识 注册到关联列表,该关联列表用于记录该用户与该第一 Web应用的第一会 话标识和该用户与第二 Web应用的第二会话标识及其之间的关联;以所述 第一会活标识向所述关联列表请求该用户与第二 Web应用的第二会活标 识;向所述第二Web应用发送访问请求,所述访问请求中包含所述第二会 话标识。
根据本发明第三方面,提供一种在Web应用环境中为用户提供身份管 理的装置,其中在所述Web应用环境中,第一 Web应用代表该用户访问 第二Web应用,所述装置包括会话管理单元,该单元进一步包括关联列表 创建模块,被配置为创建关联列表,用于记录该用户与该第一Web应用的 第一务活标识和该用户与第二 Web应用的第二会话标识以及其之间的关 联;以及会话标识返回模块,被配置为响应于从第一Web应用接收到的会 话标识请求,根据所述会话标识请求中的第一会话标识在所述关联列表中 查找与其关联的第二会话标识,并将查找到的第二会话标识返回给第一 Web应用。
根据本发明第四方面,提供一种Web应用装置,用于代表某用户访问 另一Web应用,所述装置包括会话代理,被配置为将所述用户与所述装 置之间的第一会话标识注册到关联列表,该关联列表用于记录所述第一会 话标识和该用户与所述另一 Web应用的第二会话标识及其之间的关联;还 被配置为以所述第一会话标识向所述关联列表请求该用户与所述另一 Web应用的第二会活标识;以及请求单元,被配置为向所述另一 Web应 用发送访问请求,所述访问请求中包含所述第二会话标识。
利用本发明的方法和装置,可以避免在跨Web应用访问时由于安全令 牌的交换而造成的传输拥堵,以及由于安全令牌的验证而造成的响应延迟。 此外,本发明的方法和装置不需要改变现有的代码,能够简单而有效地实 现跨应用的安全访问。
图l是根据本发明实施例的身份管理方法的流程图; 图2示出根据本发明实施例的身^^人证过程的流程图; 图3a示出根据本发明一个实施例的创建关联列表过程的流程图; 图3b示出根据本发明另一实施例的创建关联列表过程的流程图; 图4a是根据本发明一个实施例的关联列表的示意图; 图4b是根据本发明另一实施例的关联列表的示意图; 图5示出根据本发明另一实施例的创建关联列表过程的流程图; 图6示出才艮据本发明实施例的从第一 Web应用访问第二Web应用的 方法的流程图7示出根据本发明实施例的身份管理装置的示意图; 图8示出才艮据本发明实施例的Web应用装置的示意图。
具体实施例方式
本发明提供的身份管理方法是在第三方IdP的基础上利用用户与应用 之间的会话机制来实现的。
首先介绍用户与应用之间的会话机制的实现方式。
根据Web环境中数据传输的设计,HTTP是一种无状态的协议。它意 味着Web应用并不了解有关同一用户以前请求的信息。例如,用户登录了 一个实现购物功能的Web应用,并想要选择一些物品放入"购物车,,中。 如果Web应用不了解该用户以前请求的信息,那么每次用户选择物品的时 候,Web应用就不知道这个物品是哪个用户选择的,用户的"购物车"中 已经选择了什么物品。为了维持这样的信息,就要利用用户与Web应用之 间的会话机制。
具体地,可以由Web应用服务器端的Servlet或者JSP容器提供这样 的M跟踪功能。Servlet规定一种接口,该接口提供了存储和返回标准会 话属性的方法。M标识符就是在会话机制中非常重要的一种会话属性。 每当新用户向Web应用发出请求,应用服务器除了发回应答页面之外,还数字。这个特殊的标识符 称为"会话标识符",是一个唯一的用户标识符。在客户端,浏览器保存会 话标识符,并在每一个后继请求中把这个会话标识符发送给服务器。通常,
会话标识符以Cookie的形式在服务器和浏览器之间传送。会话标识符告诉 Web应用当前请求不是用户发出的第 一个请求,服务器以前已经为该用户 创建了会话对象。此时,服务器不再为用户创建新的会话对象,而是寻找 具有相同会话标识符的会话对象,然后建立该对象和当前请求的关联。由 此,Web应用获知同一用户的请求,维持与该用户的持续会话。
利用这样的会话机制,本发明提供在Web环境中基于第三方的身份管 理方法,在所述Web环境中, 一个Web应用将要代表某用户访问另一 Web应用。下面给出所述方法的具体实施方式
。
图1是根据本发明实施例的身份管理方法的流程图。如图所示,在步 骤100中,创建关联列表,以记录第一会话标识、第二会话标识及其关联, 其中第 一会话标识是用户与第一 Web应用的会话标识,第二会话标识是该 用户与第二 Web应用的会活标识;在步骤102中,响应于从第一Web应 用发出的包含第一会话标识的请求,根据关联列表返回第二会话标识。下 面结合一个具体的例子详细描述每一步骤。在这个例子中,假定第一Web 应用为网络博客,第二 Web应用为网络相册,用户tom在这两个Web应 用都已经注册合法的身份,并希望网络博客以tom的身儉沐问网络相册, 从中读取其中的照片。独立于博客和网络相册的身份管理第三方为博客代 表tom访问相册的过程提供身份管理。
在执行步骤100之前,需要在用户登录第一/第二 Web应用时对其身 份进行认证。
在一种实施例中,使用上述的身份管理第三方对用户在第一 Web应用 和第二 Web应用的身份统一进行认证。这个认证过程包括用户登录博客, 即第一 Web应用时的身伤4人证和用户登录网络相册,即第二 Web应用时 的身份认证。图2示出根据本实施例的身伤4人证过程的流程图。如图2所 示,步骤200a至步骤206a是对用户登录第一 Web应用的身份进行认证的过程,步骤200b至206b是对用户登录第二 Web应用的身份进行认证的 过程。具体地,在步骤200a,用户登录第一Web应用,在步骤202a,身 份管理第三方对用户身份进行验证。这个过程与现有IdP验证用户身份的 过程相似,也就是在用户通it^户端浏览器访问第一Web应用,例如博客 时,博客通过浏览器跳转至身份管理第三方,第三方要求用户输入与身份 相关的登录信息。例如此时用户输入自己在博客上注册的用户名tom和口 令,那么第三方根据已配置的身份管理信息来核查登录信息是否合法,即 步骤204a。如果身份不合法,则返回到步骤202a,重新要求用户输入身份 信息,进行身伤^人证,如果经认证身份是合法的,则前进至步骤206a。在 步骤206a中,该第三方向第一 Web应用返回令牌和第三会话标识,其中 令牌包含了用户身份的信息,第三会活标识是该用户与该身份管理第三方 之间的会话标识。在前述的会话机制中,会话标识是唯一的用户标识符, 仅仅与用户相关。返回的过程主要是通it^户端浏览器将所述令牌和^" 标识转发至第一Web应用。由此,所述身份管理第三方完成对用户在第一 Web应用的身裕4人证。步骤200b至206b与步骤200a至206a相似,可实 现对用户在第二Web应用的身伤4人证,其中在核查用户在第二 Web应用 的身份合法之后,向第二 Web应用返回第四会活标识。这个会活标识是登 录第二 Web应用的用户与该第三方之间的会话标识。本领域的普通技术人 员可以理解,对于用户登录两个Web应用的身伤4人证的先后顺序不需要进 行限定。更具体地,在第一 Web应用和第二 Web应用均通过身份管理第 三方4故身伤^人证的情况下,对于同一个用户而言,可以只进行一次身伤4人 证。例如,同一用户首先登录了第一Web应用,身伤4人证合法之后又登录 第二Web应用。这时,由于使用的是同一第三方,因此该第三方就不再需 要对用户身份进行再次验证了,也就是,步骤202b至204b可以省略。
在另 一种实施例中,第一 Web应用和第二 Web应用使用不同的身份 提供商(IdP)进行身伤^人证。并且,有可能同一用户在不同Web应用上 注册了不同的用户名。例如,同一用户在博客上注册的用户名为tom,在 网络相册上注册的用户名为toms,博客应用使用第一IdP进行身伤4人证管理,网络相册使用第二IdP进行身伤4人证管理。这种情况下,用户在两个
Web应用的身份要分别通过各自的IdP进行认证,而不是通过前述实施例 中的统一的身份管理第三方进行认证,相应地,所述身份管理第三方也不 需要向第一和第二 Web应用返回令牌和会话标识。上述通过不同IdP的各 自的认证过程与传统的利用IdP进行认证的过程相似,不再赘述。
在用户经过身伤4人证,成功登录第一 Web应用和第二 Web应用之后, 开始执行图1中的步骤100。在该步骤中,创建一个关联列表,以记录第 一会话标识、第二会话标识及其关联。其中,第一会话标识是经过身份认 证之后,用户成功登录第一 Web应用时,在用户与第一 Web应用之间建 立的会活标识。类似地,第二会话标识是用户与第二Web应用之间建立的 会话标识。创建关联列表的具体过程如图3a和图3b所示。
图3a示出根据本发明一个实施例的创建关联列表过程的流程图。该过 程在图2所示的流程图的基础上进行。如图3a所示,在步骤301a,获取 第一会话标识和第三会话标识。如上所述,在用户成功登录第一Web应用 时,第一Web应用与用户建立了第一会话标识,并从身份管理第三方获得 了第三会话标识。因此,第三方现在可以从第一 Web应用获得该第一M 标识和第三44^标识。类似地,在步骤302a,该第三方从第二 Web应用 获得用户与第二Web应用的第二会话标识以及第四会活标识。同样地,可 以理解,步骤301a和302a没有先后顺序的限制,只要第三方最终获得以 上提及的这些会活标识即可。
在获得上述^4^标识之后,该方法i^步骤304a,对第三会话标识和 第四会话标识进行判断。如上所述,会活标识与用户是——对应的,同一 用户与身份管理第三方之间仅有唯一的一个会话标识,也就是,第三方对 于同一用户只分配同一会话标识。因此,可以理解,如果返回给第一Web 应用的第三会话标识和返回给第二 Web应用的第四会活标识相同,则说 明,登录笫一 Web应用和第二 Web应用的是同一用户;否则,说明登录 两个Web应用的用户不相同。由此,如果步骤304a的判断结果为是,即 第三会话标识与第四会话标识相同,则ii^步骤306a,认定第一会话标识
12和第二会话标识是同一用户在不同Web应用的会话标识,于是将第一M 标识和第二会话标识相关联。如果步骤304a的判断结果为否,则进入步骤 308a,结束该建立关联列表的过程。
图3b示出根据本发明另一实施例的创建关联列表过程的流程图。该过 程针对同一用户在第一/第二 Web应用具有不同的用户名的情况而进行。 在这种情况下,身份管理第三方需要事先存储同一用户在第一和第二 Web 应用的用户名,并将其关联起来。例如,第三方可以建立一个用户名关联 表,将用户在第一Web应用,例如博客上的用户名tom和在第二Web应 用,例如网络相册的用户名toms关,来。在此基础上,就可以建立第一 会话标识和第二会话标识的关联表。具体地,如图3b所示,在步骤301b, 获取第 一会活标识和第 一用户名,其中第 一会活标识是第一 Web应用与用 户建立的务活标识,第一用户名是用户在第一Web应用注册的用户名,例 如tom。类似地,在步骤302b,该第三方从第二 Web应用获得用户与第 二 Web应用的第二会活标识以及用户在第二 Web应用上的第二用户名, 例如toms。同样地,可以理解,步骤301b和302b没有先后顺序的限制。
在获得上述会话标识和用户名之后,该方法i^yV步骤304b,对第一用 户名和第二用户名进行判断。具体地,核查上述的用户名关g,判断第 一用户名和笫二用户名之间是否存在关联。如果第一用户名和第二用户名 之间存在关联,则说明,登录第一 Web应用和第二 Web应用的实际上是 同一用户;否则,说明登录两个Web应用的用户不相同。由此,如果步骤 304b的判断结果为是,则it^步骤306b,认定第一会话标识和第二M 标识是同一用户在不同Web应用的会话标识,于是将第一会话标识和第二 会话标识相关联。如果步骤304b的判断结果为否,则i^步骤308a,结 束该建立关联列表的过程。
将第一会话标识和第二会话标识进行关联可以采用多种方式。图4a 是根据本发明一个实施例的关联列表的示意图。在图4a所示的表格中,第 一会话标识和第二会话标识以同 一用户与第三方之间的会话标识为i某介建 立关联。如图所示,同一用户与第三方的会话标识(即第三或第四会活标识)ID3、与第一 Web应用的第一会活标识ID1以及与第二 Web应用的 第二会话标识ID2记录在表格的同一行中,以此代表这些会话标识互相关 联。此外,该表格中还可选地包含第一会话类型和第二会话类型,用于记 录用户与各Web应用之间的会活类型,如PHP、 ASP、 JSP等,以备后续 使用。图4b是根据本发明另一实施例的关联列表的示意图。在图4b所示 的表格中,第一会活标识和第二会活标识以用户的用户名为媒介建立关联。 如图4b所示,在参考用户名关:^之后确定,用户名tom和toms之间存 在关联,由此将tom对应的第一会话标识ID1和toms对应的第二^^标 识ID2列在同一列中以示关联。本领域技术人员可以理解,关联列表可以 采用其他的形式,只要能够在第 一会话标识和第二会话标识之间建立映射 关系。此外,图4a, 4b的关联列表只是一种形式的关联列表的示例性一部 分,可以理解,该关联列表还可以包含更多的用户、更多的具有信任关系 的Web应用以及其他与会话相关的参数,如会话超时时间等等。
在创建笫 一会话标识和第二会话标识之间的关联列表之后,本实施例 的方法前进至图1中的步骤102,在该步骤中,响应于从第一Web应用发 出的包含第一会话标识的请求,根据关联列表返回第二会话标识。这一步 骤可在第一 Web应用将要代表用户访问第二 Web应用时实施,也可以在 用户登录阶段或者用户登录之后系统的空闲(idle)阶段实施。此时,身份 管理第三方接收到从第一 Web应用发送的会话标识请求,该请求旨在以第 一会话标识请求第二会话标识。收到该请求之后,所述第三方从中提取包 含的第一会话标识,然后查找已经建立的关联列表,例如图4a, 4b所示的 关联列表,根据这个关联表找出与第 一会话标识相关联的笫二会话标识, 然后将该第二会话标识返回给第一 Web应用。由此,第一Web应用才会 获得用户与第二 Web应用之间的第二会话标识,通过该第二会话标识就有 可能代表该用户访问第二 Web应用了 。
如果经过查找,无法找到与第一会话标识关联的第二会活标识,那么 有可能用户还没有登录第二 Web应用,第三方也没有获得第二会话标识、 第四会活标识或第二用户名,因此关联列表还没有创建完毕。这时,第三方就返回一个空值或者异常信号,促使用户登录第二Web应用,完成图2 中的步骤200b至206b,以及图3a中的步骤302a或图3b中的步骤302b。
以上的实施例是基于一种假设,即第一 Web应用与第二 Web应用之 间是互相信任的。也就是说,允许对方代表合法用户进行访问。在更为普 适的情况下,本发明的方法的另一实施例还包含建立信任列表的步骤。所 述信任列表用于记录不同Web应用之间的信任关系。所述建立信任列表的 步骤可在图1的步骤102之前的任何阶段实施。
在已经建立信任列表的基础上,可以在图1的步骤100或步骤102中 通过核查信任列表来验证第一 Web应用和第二 Web应用之间的信任关系。
具体地,图5示出根据本发明另一实施例的创建关联列表过程的流程 图。该流程U于图3a中的建立关联列表的过程。对于图5中与图3a相 同的步骤,用后两位数字与图3a相同的附图标记标出。可以看出,相比于 图3a,图5中添加了一个判断步骤503,在该步骤中,核查第一Web应用 和第二 Web应用是否在信任列表中。如果核查结果是两者在信任列表中, 则说明笫一 Web应用和第二 Web应用是相互信任的,那么i^yV步骤504 , 继续对第三会话标识和第四会话标识进行判断;如果核查结果是两者不在 信任列表中,则说明第一 Web应用和第二 Web应用之间不允许直接访问, 那么i^步骤508,结束建立关联列表的过程,不必再判断第三和第四会 话标识。可以理解,步骤503也可以在步骤504和步骤506之间实施。对 于如图3b所示的建立关联列表的过程,也可以类似地添加如步骤503所示 的判断步骤,在此不再赘述。
在另一实施例中,在执行图1中的步骤104时判断第一Web应用和第 二Web应用的信任关系。具体地,在接收到从第一 Web应用发出的以第 一会话标识请求第二会话标识的请求之后,核查所述信任列表,判断第一 Web应用和第二 Web应用是否在信任列表中。如果两者在所述信任列表 中,则认为两者互相信任,于是查找关联列表,搜索与第一会话标识关联 的第二会话标识,并将其返回给第一 Web应用。如果第一Web应用和第 二Web应用不在所述信任列表中,则结束该过程,不必再查找关联列表。
15通过以上描述的过程,独立于第一 Web应用和第二 Web应用的身份 管理第三方可以实现对笫一 Web应用代表某用户访问第二 Web应用的身 份管理。与之对应地,在Web应用一侧,本发明还提供从第一 Web应用 代表某用户访问第二 Web应用的方法。该方法的流程图如图6所示。
图6示出根据本发明实施例的从第一Web应用访问第二 Web应用的 方法的流程图。该方法的步骤均由第一 Web应用 一侧来执行。如图6所示, 首先在步骤600,将用户与该第一 Web应用的笫 一会活标识注册到关联列 表。这个步骤通常是在用户登录该第一Web应用的时候执行。如前所述, 利用用户与Web应用之间的会活机制,在用户登录第一 Web应用的时候, 第一Web应用会分配一个会话标识给用户,即第一会话标识,并在以后与 该用户的交互中均使用这个会话标识以进行双方身份的辨识。类似地,第 二 Web应用也会分配一个第二会话标识给用户。这些会话标识除了分配给 用户,还要注册到一个关联列表中,该关联列表用于记录所述第一会话标 识和所述第二会话标识及其之间的关联。该关联列表通常由独立于第一 Web应用和第二 Web应用的身份管理第三方创建,并由其维持。
在步骤602,笫一 Web应用以第一会话标识向所述关联列表请求第二 务活标识。这个步骤可以在笫一 Web应用准备访问第二 Web应用的时候 执行,也可以在用户登录第一 Web应用和第二 Web应用之后的任何阶段 执行。具体地,第一Web应用向关联列表发送一个会话标识请求,其中包 含用户与第一Web应用的第一会话标识。这样,关联列表就可以根据第一 会话标识查找到与之关联的第二会活标识,并返回给第一 Web应用了 。
如前所述,如果关联列表未查找到与第 一会活标识关联的第二会话标 识,则会返回一个空值或者异常信号。这通常是因为该用户还没有登录第 二Web应用,没有注册第二务活标识。于是,第一Web应用在收到空值 或异常信号之后,将URL重新定向到第二Web应用,促使用户登录第二 Web应用。在用户登录第二 Web应用之后,再将用户重新定向至笫一 Web 应用的回调URL,由第一 Web应用再次向关联列表义出请求,直至获得 第二会话标识。在获得第二会活标识之后,第一 Web应用就可以代表上述用户来访问 第二Web应用了。也就是,在步骤604,第一Web应用向第二Web应用 发送包含第二会话标识的访问请求。具体地,将第二会话标识包含在访问 请求中可以有多种方式。例如,第一Web应用可以将所述第二会话标识添 加到http头信息中,也可以将第二会话标识附加到指向第二 Web应用的 URL中。之后,第一 Web应用按照常规方式将所述访问请求进行包装, 并将包装的Web请求发送给第二Web应用。在一个具体实施例中,关联 列表还存储有用户与各Web应用之间的会活类型。第一 Web应用还可以 从该关联列表中获取会话类型的信息。于是,第一Web应用可以根据所述 会话类型信息,适当地将第二会话标识附加到访问请求中,并适当地对该 请求进行包装。相应地,当第二Web应用接收到这样的访问请求,会首先 分析该请求的来源。由于该请求中包含了第二会话标识,而第二会话标识 正是第二 Web应用与用户的合法会话标识,因此,第二Web应用^4人为 该请求合法地代表了该用户,从而允许该请求的操作。这样,利用用户与 第二 Web应用之间的会活标识,第一 Web应用可以实现代表该用户访问 第二Web应用的目的。
基于同一发明构思,本发明还提供了为用户提供身份管理的装置,该 装置可实现前述的身份管理方法,用作前述的身份管理第三方。图7示出 根据本发明实施例的身份管理装置的示意图。
如图7所示,身份管理装置总体上由标记700标识,该装置用于在 Web应用环境中为用户提供身份管理,其中在所述Web应用环境中,第 一 Web应用代表该用户访问第二 Web应用。为此,装置700包括会话管 理单元710,该会话管理单元710进一步包括关联列表创建模块712和会 话标识返回模块714,其中所述关联列表创建模块712被配置为创建关联 列表,用于记录该用户与该第一 Web应用的第一会活标识和该用户与第二 Web应用的第二会话标识以及其之间的关联,所述会话标识返回模块714 被配置为响应于从第一 Web应用接收到的会话标识请求,根据所述会话标 识请求中的第 一会话标识在所述关联列表中查找与其关联的第二会话标识,并将查找到的第二务活标识返回给第一Web应用。
身份管理装置还可以包括身份管理单元720。在一种实施例中,该身 份管理单元720 4皮配置为响应于所述用户登录所述第一 Web应用或第二 Web应用,对用户在该第一 Web应用或第二 Web应用的身份进行认证。 具体地,当用户登录第一/第二 Web应用时,该身份管理单元720要求用 户输入与身份相关的登录信息。在用户输入自己在第一/第二 Web应用注 册的信息,例如用户名和口令之后,身份管理单元720根据已配置的身份 管理信息来核查登录信息是否合法。若信息合法,则允许用户登录,否则 拒绝用户登录。进一步地,所述身份管理单元720还被配置为在所述用户 登录第一 Web应用时,向第一 Web应用返回与用户相关的第三会活标识; 在所述用户登录笫二 Web应用时,向第二 Web应用返回与用户相关的第 四会话标识。具体地,在用户成功登录第一 Web应用时,身份管理单元 720通过用户的客户端浏览器向第一 Web应用返回第三会话标识,该笫三 会话标识是该用户与身份管理装置700之间进行会话的会话标识,仅仅与 用户相关。类似地,第四会话标识是在用户成功登录第二Web应用时,在 用户与身份管理装置700之间建立的会话标识,并由身份管理单元720返 回给第二Web应用。由此,身份管理单元720实现对用户登录第一/第二 Web应用的身伤4人证。
替代性地,在另一种实施例中,身份管理单元720还可配置为建立并 维持用户在第一/笫二 Web应用上的不同的用户名之间的关联。这种配置 适用于同一用户在不同Web应用上注册不同用户名的情况。
与上述第一种实施例中身份管理单元720的配置相应的,在用户成功 登录第一 Web应用之后,第一 Web应用在其与用户之间建立第一会活标 识,并从上述的身份管理单元720获得返回的第三会话标识。类似地,第 二 Web应用建立了第二会话标识,并获得返回的第四会话标识。在此1^5出 上,关联列表创建模块712被配置为从第一 Web应用获得所述第一会话标 识和所述第三会活标识;从第二 Web应用获得所述第二会话标识和所述第 四会话标识,并才艮据所述第三会话标识和第四会话标识,将第一会话标识
18和第二会话标识进行关联。如上所述,由于第三会话标识和第四会话标识
是用户与身份管理装置700之间的会话标识,仅与用户相关,因此,如果 笫三会话标识与第四会话标识相同,则说明登录第一 Web应用和第二 Web 应用的是同一用户,据此可以将第一会话标识和笫二会话标识进行关联。 在另一种实施例中,关联列表创建模块712在用户成功登录第一和第二 Web应用之后,分别从第一 Web应用获得第一会活标识和第一用户名, 从第二 Web应用获得第二会话标识和第二用户名,并才艮据身份管理单元 720中存储的用户名关g,判断第一用户名和笫二用户名之间的关联关 系,由此对第一会话标识和第二会话标识进行关联。
可选地,身份管理装置700还可以包括信任管理单元730,被配置为 创建信任列表,用于记录各Web应用之间的信任关系。在本实施例中,所 述信任列表至少记录第一 Web应用和第二 Web应用之间的信任关系。在 身份管理装置700包含信任管理单元730的情况下,关联列表创建模块712 还被配置为根据所述信任列表创建所述关联列表。具体地,关联列表创建 模块712创建关联列表时,要参考信任列表中所记录的信任关系,仅仅将 同一用户与具有信任关系的多个Web应用之间的M标识进行关联。或 者,会话标识返回模块714可被配置为响应于从第一 Web应用接收到的第 一会话标识,根据所述关联列表和所述信任列表返回第二会话标识。具体 地,在会话标识返回模块714接收到从第一 Web应用发送的以第一会话标 识请求第二会话标识的请求时,要参考所述信任列表。如果信任列表中的 记录显示,第一 Web应用和第二 Web应用互相信任,则通过搜索关联列 表返回第二务活标识。
与此对应的,本发明还提供一种Web应用装置,用于代表某用户访问 另一Web应用。图8示出才艮据本发明实施例的Web应用装置的示意图。
如图8所示,所述Web应用装置总体上由800表示,被配置为与身份 管理第三方和另一Web应用通信,由此利用所述身份管理第三方,代表某 用户访问另一Web应用。该Web应用装置包括身份代理810,会话代理 820以及请求单元830。身份代理810被配置为识别用户身份。具体地,在用户登录该Web 应用装置时,身份管理第三方会对用户身份进#^人证,并向该Web应用装 置800返回令牌和其他信息。身份代理810可以接收该令牌,从中识别用 户的身份信息。会话代理820被配置为将用户与装置800之间的第一^4t 标识注册到关联列表,该关联列表用于记录所述第一会话标识和该用户与 另一Web应用的第二会话标识及其之间的关联。通常,所述关联列表由独 立于Web应用装置的身份管理第三方创建并维持。进一步地,该会话代理 820还被配置为以第一会话标识向所述关联列表请求所述第二会活标识。 在此基础上,请求单元830被配置为向另一 Web应用发送访问请求,所述 访问请求中包含所述第二会话标识。
可以理解,身份管理装置700与Web应用之间,以及不同Web应用 之间要通过网络进行会话标识等数据的传输和交互。为了实现传输的安全 性,可以采用SSL( Security Sockets Layer ), TLS(Transport Layer Security) 等安全协议进行数据传输。
通过上述的在Web环境中为用户提供身份管理的装置,可以实现本发 明实施例的为用户进行身份管理的方法。通过上述的Web应用装置可以实 现本发明实施例的代表某用户访问另一 Web应用的方法。
本领域技术人员可以理解,上述的方法和装置可以使用计算机可执行 指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD -ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸 如光学或电子信号载体的数据载体上提供了这样的代码。本实施例的身份 管理装置和Web应用装置及其单元、组件可以由诸如超大^!^莫集成电路或 门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、 可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类 型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。
虽然以上结合具体实施例对本发明的身份管理方法和装置进行了详细 描述,但本发明并不限于此,本领域普通技术人员能够理解,可以对本发 明进行多种变换、替换和修改而不偏离本发明的精神和范围;本发明的保护范围由所附权利要求来限定。
权利要求
1.一种在Web环境中为用户提供身份管理的方法,其中在所述Web环境中,第一Web应用代表所述用户访问第二Web应用,所述方法包括创建关联列表,用于记录所述用户与第一Web应用的第一会话标识和所述用户与第二Web应用的第二会话标识及其之间的关联;以及响应于从第一Web应用接收到的会话标识请求,根据所述会话标识请求中的第一会话标识在所述关联列表中查找与其关联的第二会话标识,并将查找到的第二会话标识返回给第一Web应用。
2. 如权利要求1的方法,还包括对所述用户在第一 Web 应用和第二 Web应用的身份进行认证。
3. 如4又利要求2的方法,其中对所述用户在第一 Web应用 的身份进行认证的步骤包括向第一 Web应用返回与所述用户相 关的第三会话标识;对所述用户在第二 Web应用的身份进行认证 的步骤包括向第二 Web应用返回与所述用户相关的第四会话标 识。
4. 如4又利要求3的方法,其中所述向第一或第二 Web应用 返回第三或第四会话标识的步骤包括将第三或第四会话标识通 过所述用户端的浏览器转送至第一或第二 Web应用
5. 如权利要求3的方法,其中所述创建关联列表的步骤包括..从第一 Web应用获得所述用户与该第一 Web应用的第一会 话标识和所述第三会话标识;从第二 Web应用获得所述用户与该第二 Web应用的第二会 话标识和所述第四会话标识;以及才艮据所述第三会话标识和第四会话标识,将第一会话标识和第二会话标识进行关联。
6. 如权利要求1的方法,其中所述创建关联列表的步骤包括从第一 Web应用获得所述用户与该第一 Web应用的第一会 话标识和该用户在第一 Web应用的第一用户名;从第二 Web应用获得所述用户与该第二 Web应用的第二会 话标识和该用户在第二 Web应用的第二用户名;以及 根据所述第一用户名和第二用户名,将第一会话标识和第二 会话标识进行关联。
7. 如权利要求l的方法,还包括创建信任列表,用于至少 记录第一 Web应用和第二 Web应用之间的信任关系。
8. 如权利要求7的方法,其中所述创建关联列表的步骤包 括根据所述信任列表建立所述关联列表。
9. 如权利要求7的方法,其中所述返回第二会话标识的步骤 包括根据所述信任列表返回所述第二会话标识。
10. —种从第一Web应用代表某用户访问第二 Web应用的方 法,包括将所述用户与该第一 Web应用的第一会话标识注册到关联 列表,该关联列表用于记录该用户与该第一 Web应用的第一会话 标识和该用户与第二 Web应用的第二会话标识及其之间的关联;以所述第 一 会话标识向所述关联列表请求该用户与第二 W e b 应用的第二会话标识;向所述第二 Web应用发送访问请求,所述访问请求中包含所 述第二会话标识。
11. 如权利要求10的方法,其中所述向第二 Web应用发送访 问请求的步骤包括将所述第二会话标识添加到http头信息中。
12. 如权利要求10的方法,其中所述向第二 Web应用发送访 问请求的步骤包括将所述第二会话标识附加到与笫二 Web应用相关的URL。
13. —种在Web应用环境中为用户提供身份管理的装置,其 中在所述Web应用环境中,第一 Web应用代表该用户访问第二 Web应用身份管理装置,所述装置包括会话管理单元,该单元进 一步包括关联列表创建模块,被配置为创建关联列表,用于记录该用 户与该第一 Web应用的第一会话标识和该用户与第二 Web应用 的第二会话标识以及其之间的关联;以及会话标识返回模块,,皮配置为响应于从第一 Web应用接收到 的会话标识请求,根据所述会话标识请求中的第一会话标识在所 述关联列表中查找与其关联的第二会话标识,并将查找到的第二 会i舌标识返回给第一 Web应用。
14. 如权利要求13的装置,还包括身份管理单元,被配置为 响应于所述用户分别登录所述第一 Web应用和第二 Web应用, 对用户在该第一 Web应用和第二 Web应用的身份进行认证。
15. 如权利要求14的装置,其中所述身份管理单元还被配置 为在所述用户登录第一 Web应用时,向第一Web应用返回与用 户相关的第三会话标识;在所述用户登录第二 Web应用时,向第 二 Web应用返回与用户相关的第四会话标识。
16. 如权利要求14的装置,其中所述关联列表创建模块还被 配置为,从第一 Web应用获得所述用户与该第一 Web应用的第 一会话标识和所述第三会话标识;从第二 Web应用获得所述用户 与该第二 Web应用的第二会话标识和所述第四会话标识;以及才艮 据所述第三会话标识和第四会话标识,将第一会话标识和第二会 话标识进行关联。
17. 如权利要求13的装置,其中所述关联列表创建模块还被 配置为,从第一 Web应用获得所述用户与该第一 Web应用的第 一会话标识和该用户在第一 Web应用的第一用户名;从第二 Web应用获得所述用户与该第二 Web应用的第二会话标识和该用户在 第二 Web应用的第二用户名;以及根据所述第一用户名和第二用 户名,将第一会话标识和第二会话标识进行关联。
18. 如权利要求13的装置,还包括信任管理单元,被配置 为创建信任列表,用于至少记录第一 Web应用和第二 Web应用 之间的信任关系。
19. 如权利要求18的装置,其中所述关联列表创建模块还被 配置为根据所述信任列表创建所述关联列表。
20. 如权利要求18的装置,其中所述会话标识返回模块还被 配置为响应于从第一 Web应用接收到的第一会话标识,根据所述 关联列表和所述信任列表返回第二会话标识。
21. —种Web应用装置,用于代表某用户访问另一Web应用, 所述装置包括会话代理,被配置为将所述用户与所述装置之间的第一会话 标识注册到关联列表,该关联列表用于记录所述第一会话标识和 该用户与所述另一 Web应用的第二会话标识及其之间的关联;还 被配置为以所述第一会话标识向所述关联列表请求该用户与所述 另一 Web应用的第二会话标识;以及请求单元,被配置为向所述另一 Web应用发送访问请求,所 述访问请求中包含所述第二会话标识。
全文摘要
提供一种在Web环境中为用户提供身份管理的方法,其中在所述Web环境中,第一Web应用代表所述用户访问第二Web应用,所述方法包括创建关联列表,用于记录所述用户与第一Web应用的第一会话标识和所述用户与第二Web应用的第二会话标识及其之间的关联;以及响应于从第一Web应用接收到会话请求,根据其中包含的第一会话标识在关联列表中查找关联的第二会话标识,并将其返回给第一Web应用。本发明还提供从第一Web应用代表某用户访问第二Web应用的方法,以及在Web环境中为用户提供身份管理的装置。
文档编号H04L29/06GK101635707SQ200810144038
公开日2010年1月27日 申请日期2008年7月25日 优先权日2008年7月25日
发明者徐景民, 斌 王, 黄鹤远 申请人:国际商业机器公司