用于网络应用程序的用户会话管理方法及系统的制作方法

文档序号:7643338阅读:250来源:国知局
专利名称:用于网络应用程序的用户会话管理方法及系统的制作方法
技术领域
本发明涉及数据处理,更具体地涉及用于网络应用程序的用户会话管理方法、系统及产品。
背景技术
通过HTTP协议传递的网络应用程序代表了当今实际应用中最流行的应用程序发展体系。大多数这些网络应用程序遵守包括认证和授权的安全策略。通常由第三方安全供应商来为网络应用程序执行安全策略,该供应商独立于那些执行网络应用程序的实体。这样的安全供应商在许多网络应用程序中执行统一的安全策略。第三方安全供应商将网络应用程序从执行安全管理功能的复杂情况中解脱出来。这些第三方安全供应商通常提供单次登陆(single sign-on),用户在此向安全供应商进行验证,而安全供应商声称将以可信赖的方式把用户身份传递给所支持的网络应用程序。
由于网络应用程序变得越来越精细和复杂,这些网络应用程序不再是预先建立的安全策略的被动用户。例如,网络应用程序确定用户会话的特殊方面需要附加的或定制的安全措施,而该安全措施是第三方安全供应商根据其当前的安全策略所无法执行的。因此,更加需要一种用于网络应用程序的用户会话管理的方法、系统和计算机程序产品,以使网络应用程序能够触发安全指示。

发明内容
为用于网络应用程序的用户会话管理提供方法、系统及产品。实施例包括由网络应用程序识别用户会话指示,并从网络应用程序发送执行该用户会话指示的指令至代理网络安全构件。典型实施例还包括由代理网络安全构件接收执行用户会话指示的指令,并由代理网络安全构件执行该用户会话指示。
通过发送包含指令代理网络安全构件执行用户会话指示的值的HTTP响应信息,可以将执行用户会话指示的指令由网络应用程序发送至代理网络安全构件。通过在Pragma报头字段插入指令代理网络安全构件执行用户会话的值,可以发送包含指令代理网络安全构件执行用户会话指示的值的HTTP响应信息。
通过对用户再认证的指示进行识别,可以实现用户会话指示的识别。通过对用户进行再认证,可以实现执行用户会话指示。
通过以不同于之前在同一用户会话中执行的认证方法对用户再认证的指令进行识别,可以实现对用户会话指示的识别。通过以不同于之前在同一用户会话中执行的认证方法对用户进行再认证,可以实现用户会话指示的执行。
通过识别终止用户会话的指令,可以实现所需的用户会话指示的识别。通过终止用户会话,可以实现执行用户会话指示。
根据下面参考附图对本发明实施例的更为详细的描述,本发明上述和其它目的、特征和优点都会显而易见,附图中相似的附图标记表示本发明实施例中相似的部分。


图1示出说明根据本发明实施例的用于网络应用程序的用户会话管理系统示例的网络示图。
图2示出根据本发明实施例的用于网络应用程序的用户会话管理系统的方框图。
图3示出根据本发明实施例包括可用在用于网络应用程序的用户会话管理中的示例计算机的自动化计算装置的方框图。
图4示出说明根据本发明实施例的用于网络应用程序的用户会话管理的示例方法的流程图。
图5示出说明图4的方法的示例使用情况的调用序列图。
具体实施例方式
首先,参考附图1举例描述根据本发明实施例的用于网络应用程序的用户会话管理方法、系统及产品。图1示出说明根据本发明实施例的用于网络应用程序的用户会话管理系统示例的网络示图。图1中的系统包括广域网(“WAN”)。在图1的示例中,若干示例计算机与WAN101相连,这些计算机包括例如个人电脑108、PDA112、计算机工作站104、移动电话110、膝上电脑126、支持代理网络安全构件106的服务器以及支持网络应用程序102的服务器。网络化的移动电话110通过无线链路116与WAN101相连,膝上电脑126通过无线链路118与WAN101相连,而PDA112则通过无线链路114与WAN101相连。在图1的示例中,个人电脑108通过有线连接120与WAN101相连,计算机工作站104通过有线连接122与WAN101相连,支持代理网络安全构件106的服务器通过有线连接124与WAN101相连,而支持网络应用程序102的服务器则通过有线连接128与WAN101相连。
在图1的示例中,若干示例客户计算机可以向运行在网络服务器上的网络应用程序102请求资源,这些客户计算机包括个人电脑108、PDA 112、计算机工作站104、移动电话110、膝上电脑126。网络应用程序从服务器给用户发送资源,该服务器在诸如万维网或内联网的网络上。使用网络应用程序以实现网络邮件、在线零售、在线拍卖、讨论板、网络博客和许多本领域技术人员已知的其它功能。
资源可以是由URL定位的任何计算机资源。也就是说,在本说明书中“计算机资源”或“资源”是指由URL识别的信息的任意集合。实际上,“URL”中的“R”就代表“资源”。例如HTTP、TCP/IP等网络通信协议通常传输的是资源而不仅仅是文件。最常见的资源种类是文件,但资源还包括动态生成的查询结果,例如CGI(通用网关接口)脚本、Java Servlets、动态服务器页面以及多种语言可读的文档等的输出。实际上,资源有点类似于文件,但本质上更全面。作为文件而实现的资源包括静态网页、图形图像文件、视频片段文件、音频片段文件等。事实上,目前大多数资源是文件或者服务器端脚本输出。服务器端脚本输出包括来自CGI程序、Java Servlets、活动服务器页面(Active Server Pages)以及Java服务器页面(Java ServerPages)等的输出。
典型地,使用网络浏览器请求由网络应用程序提供的资源,图1中每个客户设备108、112、104、110和126都能够支持网络浏览器。本说明书中所使用的术语“浏览器”一般是指网络浏览器、是以静态网页或动态网页形式或服务器端脚本输出的形式对计算机资源进行定位、请求、检索和显示的软件应用程序。典型地,浏览器包括标记语言翻译器和多个网页显示程序,以及HTTP通信客户。当今典型的浏览器可以显示文本、图形、音频和视频。浏览器可运行于任何能进行数据通信的计算机设备,包括网络化设备、无线网络化设备、微型计算机、PDA、膝上电脑等。无线网络化设备中的浏览器经常是小尺寸的浏览器,被称为“微型浏览器”。典型地,浏览器不仅支持HTML(超文本标识语言),还支持其它标识语言,包括例如XML(可扩展标识语言),以及无线网络化设备情况下的WML(无线标识语言)和HDML(手持设备标识语言)。
在图1的示例中,网络应用程序102根据代理网络安全构件106所执行的安全策略向用户提供资源。图1的代理网络安全构件是为包括用户认证以及用户的资源授权的网络应用程序而执行安全策略的集中式的网络安全策略管理模块。虽然图1的示例只包括一个网络应用程序,但代理网络安全构件能够为多个网络应用程序执行安全策略,因而提供集中式的网络安全策略管理。
当前可使用的一种代理网络安全构件是IBM Tivoli AccessManager WebSEALTM。IBM Tivoli Access Manager WebSEALTM是资源管理器,用于管理和保护基于网络的信息和例如那些由网络应用程序提供的资源。WebSEAL是高性能、多线程的网络服务器,它将细化的安全策略应用于所支持的网络应用程序。典型地,通过接收来自网络浏览器的一个或多个HTTP请求以及发送来自其自身的网络服务器或来自所支持的网络应用服务器的内容,WebSEAL起着反向网络代理的作用。
Tivoli Access Manager对经过WebSEAL的请求进行评价。Tivoli Access Manager包括认证框架,该认证框架提供大规模的内置认证器并支持外部认证器。Tivoli Access Manager还包括通过应用程序接口(“API”)接入的授权框架,该授权框架针对来自所支持的网络应用程序的资源请求向用户提供允许决定和拒绝决定。
根据本发明实施例,图1的系统通常通过由网络应用程序102识别用户会话指示,来为网络应用程序提供用户会话管理。用户会话指示是发送至代理网络安全构件以执行当前用户会话的特定任务的指令。用户会话指示的例子包括对用户进行再认证的指令、以不同于之前在同一用户会话中所执行的认证方法对用户进行再认证的指令、终止用户会话的指令、从一个用户切换至另一用户的指令、切换回之前的用户的指令、创建改变密码操作的指令以及本领域技术人员已知的其它指令。
根据本发明实施例,图1的系统通常也通过将执行用户会话指示的指令从网络应用程序102发送至代理网络安全构件106,来为网络应用程序提供用户会话管理。正如下面参考图4的详细描述,通过发送包含指令代理网络安全构件执行用户会话指示的值的HTTP响应消息,可以将执行用户会话指示的指令由网络应用程序发送至代理网络安全构件。
根据本发明实施例,图1的系统通常也通过由代理网络安全构件106接收执行用户会话指示的指令和由代理网络安全构件106执行用户会话指示,来为网络应用程序提供用户会话管理。执行用户会话指示的例子包括根据网络应用程序102的指令对用户进行再认证、根据网络应用程序102的指令以不同于之前在同一用户会话中所执行的认证方法对用户进行再认证、根据网络应用程序102的指令终止用户会话、以及其它本领域技术人员已知的。
构成图1所示的系统示例的服务器和其它设备的装配只是用于解释,而非限制。根据本发明各实施例,实用的数据处理系统可包括正如本领域技术人员所已知而图1中并未示出的附加服务器、路由器、其它设备和点对点体系结构。在这样的数据处理系统中的网络可以支持许多数据通信协议,包括例如TCP(传输控制协议)、IP(互联网协议)、HTTP(超文本传送协议)、WAP(无线接入协议)、HDTP(手持设备传输协议)以及本领域技术人员已知的其它协议。除了在图1所示的还可在多种硬件平台上实现本发明的各实施例。
如上所述,典型地,网络应用程序根据代理网络安全构件所执行的安全策略向用户提供所请求的资源。因此,为了进一步解释,图2示出用于网络应用程序的用户会话管理系统的方框图,该系统包括为了进行数据通信而与代理网络安全构件106耦合的浏览器414,该代理网络安全构件又与网络应用程序102耦合以进行数据通信。
根据本发明图2的网络应用程序102包括用户会话管理模块116。用户会话管理模块116包括计算机程序指令,该指令用于识别用户会话指示并将执行用户会话指示的指令发送至代理网络安全构件106。用户会话指示的例子包括对用户进行再认证的指令、以不同于之前在同一用户会话中所执行的认证方法对用户进行再认证的指令、终止用户会话的指令、从一个用户切换至另一用户的指令、切换回之前用户的指令、创建改变密码操作的指令、以及本领域技术人员已知的其它指令。
根据本发明图2的代理网络安全构件106包括用户会话管理模块117。用户会话管理模块117包括计算机程序指令,该指令用于接收执行用户会话指示的指令并执行该用户会话指示。执行用户会话指示的例子包括根据网络应用程序102的指令对用户进行再认证、根据网络应用程序102的指令以不同于之前在同一用户会话中所执行的认证方法对用户进行再认证、根据网络应用程序102的指令终止用户会话、以及其它本领域技术人员已知的。
图2的代理网络安全构件106包括认证模块151,该模块根据代理网络安全构件106所执行的安全策略,对通过使用用户浏览器414而从网络应用程序请求资源的用户进行认证。认证是验证用户,即个人或程序,没有被假冒的过程。代理网络安全构件经常支持一种以上认证方法。认证方法的例子包括确认用户名和密码的方法、确认智能卡的方法、识别用户生物信息的方法,诸如视网膜扫描、语音识别方法或指纹识别方法以及本领域技术人员已知的其它认证方法。
图2的代理网络安全构件106包括授权模块153,该模块根据代理网络安全构件106所执行的安全策略,对从网络应用程序102请求资源的特殊用户进行授权。授权是允许或拒绝经认证的用户对资源进行访问的过程。
根据本发明,用于网络应用程序的用户会话管理一般由计算机,即自动计算设备,来执行。例如,在图1的系统中,在某种程度上至少和计算机一样执行所有节点、服务器和通信设备。因此,为了进一步解释,图3示出根据本发明实施例包括可用在用于网络应用程序的用户会话管理中的计算机示例152的自动化计算设备的方框图。图3的计算机152包括至少一个计算机处理器156或“CPU”以及通过系统总线160与处理器156及计算机的其它构件相连的随机存取存储器168(“RAM”)。
存储在RAM168中的网络应用程序包括用户会话管理模块116,即多个计算机程序指令,以用于识别用户会话指示并将执行用户会话指示的指令发送至代理网络安全构件。
操作系统154也存储在RAM168中。根据本发明的实施例可用在计算机中的操作系统包括UNIXTM、LinuxTM、Microsoft XPTM、AIXTM、IBM的i5/OSTM,以及本领域技术人员已知的其它操作系统。图3示例中的操作系统154、网络应用程序102和用户会话管理模块116都示于RAM168中,但这些软件的许多构件典型地也存储于非易失性存储器166中。
图3的计算机152包括非易失性计算机存储器166,它通过系统总线160与处理器156及计算机152的其它构件耦合。非易失性存储器166可以实施为硬盘驱动器170、光盘驱动器172、电可擦除可编程只读存储器(称为“EEPROM”或闪存)174、RAM驱动器(未示出)或本领域技术人员已知的任何其它种类的计算机存储器。
图3的计算机示例包括一个或多个输入/输出接口适配器178。计算机中的输入/输出接口适配器通过例如软件驱动和计算机硬件来执行面向用户的输入/输出,以控制向诸如计算机显示屏幕的显示设备180的输出和来自诸如键盘和鼠标的输入设备181的输入。
图3的计算机152的示例包括通信适配器167,用于执行与其它计算机182的数据通信184。该数据通信可通过RS-232连接、通过诸如USB的外部总线、通过诸如IP网络的数据通信网络和通过本领域技术人员已知的其它方式串行地执行。通信适配器实现硬件级的数据通信,通过该通信适配器一台计算机直接地或通过网络向另一台计算机发送数据通信。根据本发明的实施例可用于确定目的地有效性的通信适配器的示例包括用于有线拨号通信的调制解调器、用于有线网络通信的以太网(IEEE802.3)适配器以及用于无线网络通信的802.11b适配器。
为了进一步说明,图4示出说明根据本发明实施例的用于网络应用程序的用户会话管理的方法的示例流程图,该方法包括利用网络应用程序102识别402用户会话指示404。如上所述,用户会话指示是发送至代理网络安全构件,以执行当前用户会话的特定任务的指令。
可通过识别对用户进行再认证的指示,来实现对用户会话指示404的识别402。典型地,对用户进行再认证的指示实施为发送至代理网络安全构件以之前在同一用户对话中所执行的相同认证方法对用户进行认证的指令。
如上所述,代理网络安全构件通常支持一种以上认证方法。认证方法的例子包括确认用户名和密码的方法、确认智能卡的方法、识别用户生物信息的方法(诸如视网膜扫描、语音识别方法或指纹识别方法)和本领域技术人员已知的其它认证方法。因此,通过识别以不同于之前在同一用户会话中所执行的认证方法对用户进行再认证的指示,可以实现对用户会话指示404的识别402。
通过识别终止用户会话的指示可以实现对所需用户会话指示404的识别402。典型地,终止用户会话的指示实施为发送至代理网络安全构件以终止用户会话的指令。
图4的方法还包括将执行用户会话指示404的指令408从网络应用程序102发送406至代理网络安全构件106。通过发送包括指令代理网络安全构件执行用户会话指示的值的超文本传输协议(“HTTP”)响应信息,可以将执行用户会话指示404的指令408从网络应用程序102发送406至代理网络安全构件106。超文本传送协议(“HTTP”)是用于分布式的协同超媒体信息系统的应用级协议。HTTP是一种普通的无国界协议,除了可用于超文本,通过扩展其请求方法、错误码和报头,该协议还可用于许多任务,例如名称服务程序和分布式目标管理系统。标准的HTTP1.1协议支持普通的报头字段,称之为“Pragma”报头字段。使用Pragma报头包括执行特定指示,该特定指示可适用于HTTP请求/响应链上的任何接收者。这样的特定指令的执行通常包括形式上未限定在HTTP规范中的信息。Pragma报头最普遍使用的值是“无缓存(nocache)”,它指令所支持的网络客户不要对包含在HTTP消息里的内容进行缓存。
因此,根据图4方法,通过在Pragma头字段中插入指令代理网络安全构件执行用户会话指示的值,可以将包含指令代理网络安全构件执行用户会话指示的值的HTTP响应信息发送出去。典型地,指令代理网络安全构件执行用户会话指示的值,是唯一识别由代理网络安全构件执行的特殊用户会话指示的值。例如,可以给用户指令分配唯一值以对用户进行再认证和终止用户会话,其中对用户进行再认证使用的是不同于之前在同一用户会话中所执行的认证方法。
图4的方法还包括用代理网络安全构件106接收410执行用户会话指示404的指令408。用代理网络安全构件106接收410执行用户会话指示404的指令408可以如此实现从网络应用程序接收HTTP响应信息,并识别在识别特殊用户会话指示的HTTP响应信息的Pragma报头中的值。
图4的方法还包括由代理网络安全构件106执行412由网络应用程序识别的用户会话指示404。通过对用户进行再认证,可实现对用户会话指示404的执行412。典型地,通过使用与之前在同一用户会话中相同的认证方法对用户进行认证,可实现对用户的再认证。
如上所述,代理网络安全构件通常支持一种以上认证方法。通过以不同于之前在同一用户会话中所执行的认证方法对用户进行再认证,可实现用户会话指示404的执行412。
通过终止用户会话,可实现用户会话指示404的执行412。终止会话还可包括向用户发送信息,通知该用户会话已经终止。
为了进一步说明,图5示出说明图4的方法的示例使用情况的调用序列图。在图5的示例中,用户请求网络应用程序102上的资源。从用户浏览器414发送该请求502至代理网络安全构件106,该构件执行用于网络应用程序102的安全策略。
响应于接收来自网络应用程序102的该资源请求502,代理网络安全构件106向用户发出认证询问504。响应于该认证询问504,用户向代理网络安全构件106提供认证凭证506。
在图5的例子中,代理网络安全构件106通过确定认证凭证506有效来对用户进行认证,并将带有该凭证506的资源初始请求502转发508至网络应用程序102。
在图5的例子中,网络应用程序102识别使用更强的认证方法的用户会话指示,并将使用更强的认证方法的指令510发送至代理网络安全构件106。该代理网络安全构件106接收使用更强的认证方法的指令510,并通过发出新的认证询问512来执行用户会话指示。
响应于接收新的认证询问512,用户向代理网络安全构件106发送新认证凭证。该代理网络安全构件106确定新的认证凭证514有效,并将带有该新认证凭证514的资源初始请求502转发516至网络应用程序102。
响应于转发516的带有新认证凭证514的请求502,网络应用程序102向代理网络安全构件106发送包含所请求资源的响应518。该代理网络安全构件106向用户网络浏览器414转发520带有资源的响应。
在本发明的示例实施例的上下文中关于用于网络应用程序的用户会话管理全功能计算机系统已进行了充分的说明。然而,本技术领域的读者可以认识到,本发明也可用于采用了任何适宜的数据处理系统的信号承载介质上的计算机程序产品中。该信号承载介质可以是机器可读信息的传输介质或可记录介质,包括磁性介质、光学介质或其它适宜的介质。可记录介质的例子包括硬盘驱动器中或软盘驱动器中的磁盘、用于光驱的高密度盘、磁带和其它本领域技术人员已知的。传输介质的例子包括用于语音通信的电话网络和数字数据通信网络,例如EthernetsTM以及与因特网协议及万维网通信的网络。本领域技术人员可以直接想到,任何具有适宜的编程装置的计算机系统都能够执行在程序产品中实现的本发明的方法步骤。本领域技术人员还可以直接想到,虽然本说明书中描述的一些示例实施例面向于安装在计算机硬件中并在其上运行的软件,但是实施为固件或硬件的其它实施方式同样也包含在本发明的范围内。
综上所述,对本发明各实施例进行的修改和变化都不偏离本发明的真正精神。本说明书的描述只是为了解释说明,而不能被理解为限制。本发明的范围仅由权利要求的语言所限定。
权利要求
1.一种用于网络应用程序的用户会话管理方法,该方法包括利用网络应用程序识别用户会话指示;和将执行用户会话指示的指令由网络应用程序发送至代理网络安全构件。
2.如权利要求1的方法,还包括利用代理网络安全构件接收执行用户会话指示的指令;和利用代理网络安全构件执行用户会话指示。
3.如权利要求1的方法,其中用户会话指示包括对用户进行再认证的指令。
4.如权利要求2的方法,其中执行用户会话指示还包括对用户进行再认证。
5.如权利要求2的方法,其中用户会话指示包括以不同于之前在同一用户会话中执行的认证方法对用户进行再认证的指示。
6.如权利要求5的方法,其中执行用户会话指示还包括以不同于之前在同一用户会话中执行的认证方法对用户进行再认证。
7.如权利要求2的方法,其中用户会话指示包括终止用户会话的指示。
8.如权利要求7的方法,其中执行用户会话指示还包括终止用户会话。
9.如权利要求1的方法,将执行用户会话指示的指令由网络应用程序发送至代理网络安全构件的步骤,还包括发送包含指令代理网络安全构件执行用户会话指示的值的HTTP响应信息。
10.如权利要求9的方法,其中发送包含指令代理网络安全构件执行用户会话指示的值的HTTP响应信息步骤,还包括在Pragma报头字段中插入指令代理网络安全构件执行用户会话指示的值。
11.一种用于网络应用程序的用户会话管理系统,该系统包括计算机处理器;与该计算机处理器可操作地耦合的计算机存储器,该计算机存储器中装有包括计算机程序指令的网络应用程序,所述计算机程序指令能够识别用户会话指示;和将执行用户会话指示的指令发送至代理网络安全构件。
12.如权利要求11所述的系统,还包括另一个计算机处理器;与该另一个计算机处理器可操作地耦合的计算机存储器,该计算机存储器中装有包括计算机程序指令的网络应用程序,所述计算机程序指令能够接收执行用户会话指示的指令;和执行用户会话指示。
13.如权利要求12所述的系统,其中能够识别用户会话指示的计算机程序指令还包括能够识别对用户进行再认证的指示的计算机程序指令。
14.如权利要求13所述的系统,其中能够执行用户会话指示的计算机程序指令还包括能够对用户进行再认证的计算机程序指令。
15.如权利要求12所述的系统,其中能够识别用户会话指示的计算机程序指令,还包括能够使用不同于之前在同一用户会话中执行的认证系统识别对用户进行再认证的指示的计算机程序指令。
16.如权利要求15所述的系统,其中能够执行用户会话指示的计算机程序指令,还包括能够使用不同于之前在同一用户会话中执行的认证方法对用户进行再认证的计算机程序指令。
17.如权利要求12所述的系统,其中能够识别所需的用户会话指示的计算机程序指令还包括能够识别终止用户会话的指示的计算机程序指令。
18.如权利要求17所述的系统,其中能够执行用户会话指示的计算机程序指令还包括能够终止用户会话的计算机程序指令。
19.如权利要求11所述的系统,其中能够发送执行用户会话指示的指令的计算机程序指令还包括能够发送包含指令代理网络安全构件执行用户会话指示的值的HTTP响应信息的计算机程序指令。
20.如权利要求19所述的系统,其中能够发送包含指令代理网络安全构件执行用户会话指示的值的HTTP响应信息的计算机程序指令还包括能够在Pragma报头字段中插入指令代理网络安全构件执行用户会话指示的值的计算机程序指令。
21.一种用于网络应用程序的用户会话管理的计算机程序产品,该计算机程序产品配置于信号承载介质上,且该计算机程序产品包括用于识别用户会话指示的计算机程序指令;和用于将执行用户会话指示的指令发送至代理网络安全构件的计算机程序指令。
全文摘要
本发明公开一种用于网络应用程序的用户会话管理方法、系统和产品。实施方案包括利用网络应用程序识别用户会话指示,并将执行用户会话指示的指令由网络应用程序发送至代理网络安全构件。典型的实施方式还包括利用代理网络安全构件接收执行用户会话指示的指令,并由代理网络安全构件执行用户会话指示。
文档编号H04L29/08GK101026624SQ20071000184
公开日2007年8月29日 申请日期2007年1月5日 优先权日2006年1月17日
发明者尼尔·伊恩·雷德肖 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1