首页> 中国专利> 单点登录系统中针对Form身份鉴别的单点登录集成方法

单点登录系统中针对Form身份鉴别的单点登录集成方法

摘要

本发明涉及一种单点登录系统中针对Form身份鉴别的单点登录集成方法,所述单点登录系统包括Web应用程序、Web服务器、登录请求代理页面、登录验证代理页面和登录验证HTTP插件、浏览器、身份服务系统、主帐户数据库以及主从帐户绑定数据库;登录请求代理页面接收获取登录页面的HTTP请求,将未登录的用户引导到身份服务系统进行登录;身份服务系统完成用户的身份鉴别后,通过浏览器将证明用户身份的安全令牌提交到用户要访问的Web应用系统的帐户名、口令验证URL;登录验证代理页面或HTTP插件接收或拦截提交到帐户名、口令验证URL的HTTP请求后,完成安全令牌验证,将用户在Web应用系统本地的帐户名、口令加入到HTTP请求中,从而实现用户在Web应用系统的登录。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-10

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20150506 终止日期:20160327 申请日:20120327

    专利权的终止

  • 2015-05-06

    授权

    授权

  • 2012-09-26

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20120327

    实质审查的生效

  • 2012-08-01

    公开

    公开

说明书

技术领域

本发明属于信息安全的身份鉴别与访问控制技术领域,特别是一 种单点登录系统中针对Form身份鉴别的单点登录集成方法。

背景技术

随着企业电子商务和办公信息化的发展,企业、组织机构部署了 大量的提供各类特定功能的信息系统(以下统称应用系统),为了解 决用户在使用不同应用系统时需要记忆、输入在不同应用系统中的不 同帐户名、口令(也称为用户名、口令)这一问题,人们提出了单点 登录(Singie Sign On)技术。所谓单点登录,即用户只需要使用一 个身份凭证(如一个帐户名、口令,或一张数字证书等)在某个在线 系统完成在线身份鉴别(即login登录)后,就能访问所有其他能够 访问的系统,而无需再次输入帐户名、口令或使用数字证书进行身份 鉴别。

在目前已部署的应用系统中有相当大一类是采用 Browser/Server架构(浏览器/服务器,简称B/S架构)、采用Web 页面技术开发的,这类系统称为Web应用系统。在B/S架构的系统中, 客户端是通用的浏览器;服务器端通常由Web服务器、Web应用程序 和数据库组成。Web服务器可以是HTTP(HyperText Transfer  Protocol)服务器(如IIS、Apache)、HTTP服务器+Web容器(如 Apache+Tomcat,或直接收发HTTP请求、响应的Tomcat)、J2EE应用 服务器(Application Server,如WebLogic、WebSphere);Web应用 程序通常基于某种特定的页面技术(如JSP/Servlet、ASP.NET、PHP) 开发,并部署在Web服务器上运行;数据库用于存放各类应用相关数 据。

客户端浏览器与Web服务器之间通过HyperText Transfer  Protocol(HTTP)进行数据交互与传送:浏览器将HTTP格式的服务 请求(HTTP请求)传送到Web服务器;Web服务器对请求进行相应预 处理后,将请求提交给Web应用程序的相应Web页面进行处理;之后 Web服务器将Web页面返回的处理结果,以HTTP格式的响应(HTTP 响应)返回到浏览器;最后,浏览器根据返回的结果数据展现返回的 结果内容。除了在浏览器和Web应用程序(的Web页面)之间传送 HTTP请求、响应数据外,Web服务器还为Web应用程序的Web页面提 供相应的运行环境和服务支撑,如会话(Session)数据维护等。

为了限制用户对受保护的服务功能或资源的访问,即只有授权的 用户才能访问、使用受保护的敏感功能或资源,Web应用系统需要对 用户进行身份鉴别(即我们通常所说的身份认证,但身份认证这种说 法不专业)。身份鉴别的方式很多,其中最常用的是基于帐户名、口 令的身份鉴别,即用户要访问某个Web应用系统的受保护的敏感功能 或资源前,需要通过浏览器输入其在该Web应用系统对应的帐户名、 口令进行登录(Login)。而在采用帐户名、口令的身份鉴别方式中, 对于Web系统而言,一种最常用的技术方案是所谓的Form身份鉴别, 即用户通过Web页面的HTML(HyperText Markup Language)的Form 表单输入帐户名、口令,并通过浏览器提交到服务器端进行验证(因 此,这种帐户名、口令身份鉴别方式又被称为Form身份鉴别)。

Form身份鉴别在Web应用系统的具体实施有两种途径,一是由 Web应用程序负责,二是由Web服务器负责。若由Web应用程序负责, 则Web应用程序有专门的登录页面(如Login.jsp),用于向浏览器 返回一个登录界面,供用户输入、提交帐户名、口令;同时Web应用 程序还有一个专门的验证帐户名、口令的页面(如LoginCheck.jsp), 称为登录验证页面(登录页面和登录验证页面有可能是同一个Web页 面,如ASP.NET中的Form身份鉴别的Login.aspx,但逻辑上可仍当 作两个独立的页面)。若由Web服务器负责实施Form身份鉴别(具体 地,或者由HTTP服务器负责实施,或者由动态页面运行环境负责实 施,如JSP/Servlet Web Container、ASP.NET runtime),则Web应 用程序同样需要提供一个登录页面,供用户输入帐户名、口令,但是, Web应用程序不提供用于验证帐户名、口令的登录验证页面;帐户名、 口令的验证由Web服务器内部的专门的登录验证处理逻辑(模块)负 责,该登录验证处理逻辑对应有一个特定的URL(Uniform Resource  Locator),如j_security_check,提交到该特定URL的HTTP请求不 被传送到某个Web页面处理,而是被传送到Web服务器内部的登录验 证处理逻辑进行处理。无论采用哪种途径实施Form身份鉴别,当没 有完成身份鉴别的用户初次访问受保护的资源(如某个Web页面)时, 服务器端(Web应用程序或Web服务器)都会将登录页面返回,提示 用户输入帐户名、口令;当用户输入帐户名、口令并通过浏览器将它 们提交到Web应用程序的登录验证页面或Web服务器内部的登录验证 处理逻辑进行验证通过后,用户将能够访问其需要访问的受保护的资 源。

为了实现单点登录,人们引入了一个称为Identity Provider(简 称IdP)的概念,它是一个在线提供身份鉴别服务的系统,称为身份 服务系统。对于Web应用系统而言,用户只需使用浏览器在身份服务 系统完成一次登录(即在线身份鉴别),就能访问该身份服务系统信 任域中的其他能够访问的Web应用系统而无需再进行登录操作(即身 份鉴别)。但是,这种单点登录技术方案要获得成功应用,有个关键 问题需要解决:如何使得已有的各类Web应用系统能与身份服务系统 互联实现单点登录。具体问题描述如下。

涉及单点登录的各种Web应用系统通常都有各自的用户帐户管 理组件(系统)和帐户数据库,且这些Web应用系统通常是基于自身 的用户帐户(帐户名、口令)来对用户进行访问控制的,而用户在身 份服务系统进行登录、身份鉴别时所使用的用户帐户与其在某个要访 问的Web应用系统中的帐户可能是不相同的(当然也可能相同)。如 果不同,一种方案是修改原有应用系统,使其接受身份服务系统的用 户帐户作为识别用户的标识并据此进行访问控制。但这种方案由于涉 及应用系统的修改,因此,往往无法实施。另一种方案是用户使用一 个称为主帐户的用户帐户在身份服务系统登录,这个主帐户可以是用 户已有的某个应用系统帐户,或者是某个已有的全局帐户(如Windows  Active Directory中的帐户),或者是某个专门新创建的全局用户帐 户;用户的主帐户事先通过一定的方式同用户在不同应用系统的帐户 (称为从帐户)关联起来,这个过程称为身份(帐户)关联(Identity  Federation或Account Federation)或身份(帐户)绑定(Identity  Binding或Account Binding);当用户使用其主帐户在身份服务系统 完成登录(即身份鉴别)后、访问某个特定应用系统时,其主帐户通 过一定的方式被对应、转化成该用户在该应用系统的从帐户,然后用 户基于该从帐户访问应用系统。这个主、从帐户对应、转化的过程称 为身份(帐户)映射(Identity Mapping或Account Mapping)。但 是,有了这种绑定、映射关系还不够,因为原有的系统并不能同身份 服务系统交互,也不能自动完成这种帐户转换,因此,需要通过相应 的技术手段来提供、实现所需的功能。结合第一种方案存在的问题和 第二种方案的技术需要,一种不改变系统原有身份鉴别方式、用户帐 户、程序且能自动实现主从映射、转化的单点登录集成技术方案是非 常有用和重要的。而在Web应用系统中Form身份鉴别是目前采用最 普遍的身份鉴别方式,因此,研发开发针对Form身份鉴别的单点登 录集成方案显得尤为重要。针对这问题,本发明的设计人也曾提出了 一种基于过滤器(Filter)和口令代填的单点登录集成方法(见参考 文献[1-2]),但该方法存在如下不足:

1)在很多情况下,用过滤器机制实现相关功能比较复杂或困 难;

2)过滤器需要负责判断哪些系统功能或资源是受保护的,而 在有些情况下过滤器无法做到这点,比如,在由Web应用 程序根据自身的业务逻辑,而不是基于HTTP请求URL,判 断用户是否需要完成登录(身份鉴别)的情况下,则过滤 器无法判断用户是否需要进行登录或身份鉴别(因为过滤 器是基于HTTP请求URL判断的);

3)过滤器要拦截所有的HTTP请求,即便用户已完成身份鉴别 也是如此;

4)在过滤器以口令代填方式将用户的帐户名、口令提交到登 录验证页面前,用户并没有对登录页面(如Login.jsp) 进行初次访问(即跳过了访问登录页面的操作),而实际上, Web应用系统有可能在用户初次访问登录页面时,为该用 户以后的访问操作(包括口令验证操作)做某些初始化, 而跳过初次访问页面的操作有可能破坏了之后的相关操作 处理逻辑(如口令验证处理);

5)在过滤器完成用户鉴别、本地登录操作后,过滤器要负责 将用户重定向到其初始要访问的受保护的Web页面,而在 用户初次访问受保护资源时使用的POST方法的情况下,由 过滤器来负责引导用户再次以POST方法和原POST参数访 问初次要访问的受保护的资源,在技术实现上是比较复杂, 甚至困难的,相反第,原系统本身可能已具有这一功能。

针对以上问题,本发明提出的单点登录集成方法作出了如下改 进:

1)本发明的方法既适用于采用Web页面技术(即代理页面) 实现单点登录相关功能,也适用于采用Web HTTP插件(即 过滤器或类似过滤器器的)机制实现相关功能,而且首 先选用前者,只有在前者不适合的情况下,才采用后者; 而多数情况下是可以采用前者的,这就大大简化了相关 技术的开发;

2)登录插件不负责判断哪些系统功能或资源是受保护的, 这些仍由原系统负责,登录插件只是透明地改变了登录 操作(即身份鉴别)的流程;

3)登录处理插件(即代理页面、Web HTTP插件)只拦截提 交到登录页面、帐户名/口令验证URL的HTTP请求,对 其他所有HTTP请求都不拦截,这就将相关插件对系统可 能造成的影响降低到最低程度;

4)在任何请求下,用户访问登录页面的HTTP请求都会达到 系统原来的登录页面,并完成相关处理;这样就不会对 原有系统的相关处理逻辑造成任何影响;

5)由原来负责Form身份鉴别实施的Web服务器或Web应用 程序,负责在用户成功登录后,将用户重定向到其要初 始访问的受保护的Web页面,包括用户初次以POST方法 访问受保护资源的情况下,这就大大降低了单点登录集 成技术的复杂性。

参考文献:

[1]龙毅宏,李常友,唐志红,刘旭,一种对Web遗留系统透明的单 点登录方案,信息安全与通信保密,2010年10期,pp.67-69,72。

[2]研究生 李希能,指导教师 龙毅宏,统一身份认证与单点登录系 统的设计与实现,武汉理工大学硕士论文,2010年5月。

发明内容

本发明的目的是针对单点登录系统中Web应用系统采用Form身 份鉴别方式的情形,提出一种无需修改Web应用程序和Web应用系统 本身的身份鉴别方式就能实现单点登录的单点登录集成方法。

为了实现上述目的,本发明所采用的技术方案是:

一种单点登录系统中针对Form身份鉴别的单点登录集成方法, 所述单点登录系统包括Web应用程序、Web服务器、登录请求代理页 面、登录验证代理页面、登录验证HTTP插件、浏览器、身份服务系 统、主帐户数据库以及主从帐户绑定数据库,其中:

Web应用程序:由一组基于某种Web页面技术开发并部署在Web 服务器上的Web页面组成的实现某种预定应用功能的程序;

Web服务器:为Web应用程序的Web页面提供HTTP请求接收、 响应传送功能,及其他相关的支撑功能,包括:接收用户浏览器提交 的HTTP格式的服务请求,进行相应预处理后提交给Web应用页面进 行处理,之后,将Web应用页面返回的处理结果,以HTTP响应的格 式传送到用户浏览器;所述Web服务器包括HTTP Web服务器和相应 的动态页面运行环境(如JSP/Servlet Web Container、ASP.NET  runtime);所述Web服务器和部署在其上的Web应用程序构成了实现 预定应用功能的Web应用系统;

登录请求代理页面:部署在采用Form身份鉴别的Web应用系统 的Web服务器上,接收获取登录页面的HTTP请求,将获取登录页面 的HTTP请求传递给Web应用系统原有的登录页面,并根据单点登录 的需要,对返回结果进行相应处理;

登录验证代理页面:部署在由Web应用程序负责实施Form身份 鉴别的Web应用系统的Web服务器上,接收提交到对应于帐户名、口 令验证功能的URL的HTTP请求,进行相关处理后,将包含用户在应 用系统本地的用户名、口令的HTTP请求传递给Web应用系统原有的 验证帐户名、口令的登录验证页面;

登录验证HTTP插件:部署在由Web服务器负责实施Form身份鉴 别的Web应用系统的Web服务器上,拦截提交到对应于帐户名、口令 验证功能的URL的HTTP请求,进行相关处理后,将包含用户在应用 系统本地的用户名、口令的HTTP请求传递给Web服务器内部的验证 帐户名、口令的登录验证处理逻辑;

浏览器:用户与Web应用系统交互的客户端,其功能包括:通过 HTTP协议向Web服务器传送HTTP请求,接收Web服务器返回的HTTP 响应并展现响应的内容;

身份服务系统:提供用户在线身份鉴别服务的系统,其功能包括: 基于用户身份凭证对用户进行在线身份鉴别,通过相应的单点登录协 议并借助浏览器向Web应用系统传送证明用户身份的安全令牌;

主帐户数据库:存放用户登录身份服务系统的主帐户信息,包括 主帐户的帐户名、口令,或主帐户对应的数据证书的相关信息;

主从帐户绑定数据库:保存用户主帐户与用户在Web应用系统的 从帐户的对应(绑定)关系,以及从帐户的口令。

所述Web应用系统通过一定的方式对用户进行身份鉴别;用户访 问某个Web应用系统的受保护的功能或资源时(如Web页面),需要 使用其在该Web应用系统中的相应帐户完成身份鉴别后才能进行访 问;所述Web应用系统中,部分系统采用Form身份鉴别方式对客户 端用户进行身份鉴别,而Form身份鉴别的实施或者由Web服务器负 责,或者由Web应用程序负责。

所述登录请求代理页面使用原登录页面的名字(如Login.jsp), 而原登录页面被重新命名(如LoginBak.jsp);所述登录验证代理页 面使用原登录验证页面的名字(如LoginCheck.jsp),而原登录验证 页面被重新命名(如LoginCheckBak.jsp)。

所述登录验证HTTP插件基于Web服务器提供的HTTP插件扩展机 制插入到Web服务器的HTTP请求、响应处理通道中,仅拦截、处理 提交到对应于帐户名、口令验证功能的URL(如j_s ecur ity_check) 的HTTP请求和响应,而对其他所有的HTTP请求、响应不作任何拦截、 处理。所述Web服务器提供的HTTP插件扩展机制或者是由HTTP服务 器提供的,或者是动态页面运行环境提供的(如JSP/Servlet Web  Container、ASP.NET runtime)。

所述登录请求代理页面和登录验证代理页面或登录验证HTTP插 件有相应的配置信息,用于设置与单点登录有关的信息,如身份服务 系统的用户登录地址(URL)、对安全令牌签名的数字证书或对称密钥 等。

所述登录请求代理页面和登录验证代理页面或登录验证HTTP插 件保存有每个用户的登录(身份鉴别)相关信息,称为用户登录信息。 所述用户登录信息包括:

1)身份鉴别标志:指示是否已收到身份服务系统签发的证明用 户身份的安全令牌;若用户已在身份服务系统完成身份鉴别,则该标 志的值是“真”(true),否则,是“假”(false);

2)用户主帐户名:即用户在身份服务系统进行身份鉴别时所使 用的帐户名;

3)用户从帐户名:即用户在应用系统本地的、与主帐户名对应 的帐户名。

以上所述各种用户登录信息保存在Web服务器(HTTP服务器或 动态页面运行环境)提供给登录请求代理页面和登录验证代理页面或 登录验证HTTP插件的会话(Session)数据存储位置中(如Servlet 的Session对象,HTTP Cookie)。

所述身份服务系统签发的所述安全令牌的格式依赖于使用的单 点登录协议,可以是SAML(Security Assertion Marup Language) 断言(Assertion),或者WS-Federation安全令牌(Security Token), 或者自定义的安全令牌;所述身份服务系统通过数字签名保证所签发 的安全令牌的安全性(原发性、完整性)。

用户在所述身份服务系统进行在线身份鉴别时所用的身份凭证, 可以是普通帐户名、口令,也可以是数字证书,或者其他能够标识、 验证用户身份的电子身份数据。用户在所述身份服务系统进行身份鉴 别时使用的帐户称为主帐户。所述从帐户即指用户在某个特定Web应 用系统的帐户,包括帐户名、口令;用户的主帐户与其在某个Web应 用系统中的从帐户可以是同一个,也可以不同。

所述登录请求代理页面接收到获取登录页面的HTTP请求后,按 如下方法对HTTP请求进行处理:

A1.将接收到的HTTP请求通过内部转发或调用机制直接传送到 系统原有的登录页面;

A2.当原有登录页面返回响应结果后,检查身份鉴别标志,若其 值是“真”,则让响应结果直接返回;若其值是“假”或未设置,则 将其值设置为“假”,然后通过外部重定向或返回Web页面自动提交 HTTP请求的方式将用户浏览器引导到身份服务系统的用户登录页面, 重定向或自动提交的HTTP请求的URL中包含有本地Web应用系统的 标识。

当用户浏览器被登录请求代理页面在所述步骤A2通过外部重定 向或返回Web页面自动提交HTTP请求的方式引导到身份服务系统的 用户登录页面后,身份服务系统按如下方法对HTTP请求进行处理:

B1.通过HTTP请求URL中携带的Web应用系统标识确定用户要 访问的Web应用系统是否是其所信任、提供服务的系统,若不是,则 返回出错信息;否则,转入下一步骤;

B2.确定用户之前是否已在身份服务系统完成身份鉴别,若是, 则转入下一步骤;否则,将用户引导到登录页面,并基于用户主帐户 对用户进行身份鉴别,鉴别成功后转入下一步骤;

B3.根据用户的主帐户及用户要访问的Web应用系统,在主从帐 户绑定数据库中获得用户在要访问的Web应用系统中的从帐户名和 口令;

B4.为用户生成一个包含其主帐户名、从帐户名及加密后的从帐 户口令的安全令牌,并对相关信息进行数字签名,然后将包含安全令 牌的用户身份证明信息以Form表单的方式返回到用户浏览器,并通 过Form表单的自动POST提交(Submit)方式将包含安全令牌的用户 身份证明信息提交到用户需要访问的Web应用系统的对应于帐户名、 口令验证功能的URL。

当所述登录验证代理页面或登录验证HTTP插件接收或拦截到提 交到对应于帐户名、口令验证功能的URL的HTTP请求后,按如下方 式对HTTP请求进行处理:

C1.检查HTTP请求中包含的是身份服务系统提交的安全令牌还 是用户直接提交的帐户名、口令,若是前者,转入步骤C2,否则, 转入步骤C4;

C2.通过数字签名验证安全令牌的有效性,若无效,则将所述身 份鉴别标志的值设置为“假”,返回出错提示;否则,转入下一步骤;

C3.从安全令牌中获取用户的主帐户名、从帐户名和经解密后的 从帐户口令,并将主帐户名、从帐户名作为所述用户登录信息保存, 然后,设置身份鉴别标志的值为“真”;之后将从帐户名、口令以符 合系统原有帐户名、口令提交的方式加入到HTTP请求中,然后将新 形成的HTTP请求通过内部转发、调用或传递机制传送到系统原登录 验证页面或Web服务器内部的登录验证处理逻辑,然后让原登录验证 页面或Web服务器内部的登录验证处理逻辑返回的响应结果返回,完 成本次HTTP请求的处理;

C4.检查身份鉴别标志,若其值为“假”或未设置,则将其值设 置为“假”,然后通过外部重定向或返回Web页面自动提交HTTP请求 的方式将用户浏览器引导到身份服务系统的用户登录页面,重定向或 自动提交的HTTP请求的URL中包含有本地Web应用系统的标识;否 则,转入下一步;

C5.检查当前HTTP请求中的帐户名是否与用户登录信息中保存 的从帐户名一致,若不一致,则返回出错信息;否则,根据用户登录 信息中保存的主帐户名、从帐户名及当前HTTP请求中的口令,更新 主从帐户绑定数据库,然后将当前HTTP请求通过内部转发、调用或 传递机制传送到系统原登录验证页面或Web服务器内部的登录验证 处理逻辑,然后让原登录验证页面或Web服务器内部的登录验证处理 逻辑返回的响应结果返回,完成本次HTTP请求的处理。

若在所述步骤C3,所述登录验证代理页面或登录验证HTTP插件 无法将从帐户名、口令直接加入到当前接收或拦截的HTTP请求中, 则所述登录验证代理页面或登录验证HTTP插件在所述步骤C3,设置 身份鉴别标志的值为“真”后,直接生成并提交一个包含从帐户名、 口令及其他相关信息的HTTP请求,提交到Web应用系统的对应于用 户名、口令验证功能的URL,然后将该请求对应的返回结果返回;相 应地,在所述步骤C1,所述登录验证代理页面或登录验证HTTP插件 在进行有关操作处理前,首先通过检查相关信息确定接收或拦截到的 HTTP请求由自己提交,若是,则让该HTTP请求和响应通过,不作进 一步的处理。

本发明的创新之处在于:通过Web代理页面或HTTP插件,使得 采用Form身份鉴别的Web应用系统能在不作修改(不修改Web应用 程序和身份鉴别方式)的情况下实现单点登录。

本发明的一个最大特点是:实施简单。

附图说明

图1为本发明的单点登录系统的整体结构框图。

具体实施方式

下面结合附图对本发明作进一步的详细描述。

本发明是一种单点登录系统中针对Form身份鉴别的单点登录集 成方法,本方法的单点登录系统的整体结构如图1所示,包括Web应 用程序、Web服务器、登录请求代理页面插件、登录验证代理页面、 登录验证HTTP插件、浏览器、身份服务系统、主帐户数据库、主从 帐户绑定数据库,其中Web应用程序和Web服务器构成了Web应用系 统。系统各组成部分的功能在前面的发明内容中已做了详细描述,在 此不再重复。在整个单点登录系统的系统组件中,登录请求代理页面、 登录验证代理页面、登录验证HTTP插件、身份服务系统、主帐户数 据库、主从帐户绑定数据库属于本发明要实现的内容,而在要实现的 内容中,登录请求代理页面、登录验证代理页面和登录验证HTTP插 件又是最关键、最主要的部分。

对于身份服务系统的实现,可以采用已有的各种成熟的信息系统 开发技术,如J2EE技术,ASP.NET技术等;对于主帐户数据库,可 以采用LDAP、关系数据库,或已有的Windows Active Directory或 某个应用系统帐户数据库;对于主从帐户绑定数据库,可以使用关系 数据库。主从帐户绑定数据库只要保存这样一些信息:1)用户的主 帐户名;2)主帐户对应的用户在每个授权访问的应用系统中从帐户 名及口令。

登录请求代理页面和登录验证代理页面的实现,取决于其部署所 在的Web服务器和对应的Web应用程序所采用的Web页面开发技术; 而登录验证HTTP插件的实现,取决所采用的Web服务器。

如果Web应用程序基于JSP/Servlet技术开发,且Form身份鉴 别由Web应用程序负责实施,则登录请求代理和登录验证代理页面可 基于JSP/Servlet技术开发;登录请求代理和登录验证代理页面可通 过内部转发(forward)机制将接收的HTTP请求分别转发到相应的原 登录页面和原登录验证页面;登录验证代理页面在转发前可直接在 HTTP请求中加入用户的从帐户名、口令。

如果Web应用程序基于JSP/Servlet技术开发,且Form身份鉴 别由Web容器(JSP/Servlet Container)负责实施,则登录请求代 理页面可JSP/Servlet技术开发,而登录验证HTTP插件的具体开发 实施机制与所采用的Web容器或Web服务器有关。如果Web容器是 Tomcat,则登录验证HTTP插件可基于Tomcat Valve(阀)开发;如 果Web服务器是WebSphere应用服务器,则登录验证HTTP插件可基 于Servlet Filter开发;如果Web服务器是GlassFish应用服务器, 则登录验证HTTP插件可基于GlassFish Valve或Tomcat Valve开发。

如果采用Form身份鉴别的Web应用程序是基于ASP.NET开发, 则登录请求代理页面和登录验证代理页面是基于ASP.NET技术开发 的同一个页面,称为登录代理页面,并被配置为ASP.NET Form身份 鉴别的登录(Login)页面;称为登录代理页面可通过 Server.Transfer,将当前HTTP请求不加修改地传给ASP.NET应用的 Form身份鉴别的原登录页面(通常是Login.aspx);登录代理页面在 完成安全令牌的验证后,可生成并提交一个包含从帐户名、口令的新 HTTP请求给自己。

如果Web应用程序基于PHP技术开发,且Form身份鉴别由Web 应用程序负责实施,则登录请求代理页面和登录验证代理页面可基于 PHP技术开发;登录请求代理和登录验证代理页面可PHP的include 将接收的HTTP请求分别转发到相应的原登录页面和原登录验证页 面;登录验证代理页面在转发前可通过修改$_POST直接在HTTP请求 中加入用户的从帐户名、口令。

对于基于其它动态页面技术开发的Web应用程序和其他的Web服 务器,可根据动态页面技术提供的HTTP请求内部转发、调用的机制, 以及Web服务器提供的HTTP插件机制确定具体的实施方案。

另外,对于所涉及的单点登录协议及安全令牌的具体实施,单点 登录协议和安全令牌可以采用标准协议,如SAML、WS-FPRP (WS-Federation Passive Request Profile)协议,以及相应的SAML 断言、WS-Security Token作为证明用户身份的安全令牌;或者,使 用自定义的单点登录协议和自定义的安全令牌,只要与本发明所述的 交互和处理过程一致即可。若单点登录协议和安全令牌是基于XML (eXtensible Markup Language)的,如SAML、WS-FPRP,则对XML 数据的处理可以使用各种成熟的动态库、类库(如Windows  Communication Foundation类库)、API(如Java API for XML  Processing,JAXP)等。对于涉及数据加密、数字签名的实现,可 以使用各种成熟的动态库(如OpenSSL)、类库(如Java Cryptography  Extens ion)、API(如Windows CryptoAPI等)。

本说明书中未作详细描述的内容属于本领域专业技术人员公知 的现有技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号