一种单点登录方法及系统与流程

文档序号:15281786发布日期:2018-08-28 23:37阅读:544来源:国知局

本发明属于信息安全技术领域,特别是一种针对系统登录的单点登录方法及系统。



背景技术:

单点登录(singlesignon,sso)即用户只需进行一次登录(logon)操作,比如只需输入一次帐户名、口令,就能访问不同的应用系统(单点登录严格说来是singlesignon的不准确翻译,更准确的说法应该是单次登录)。

单点登录由于给用户带来了方便,因此,获得广泛的应用。目前单点登录常用的几种技术如下:

采用单点登录协议,如saml(securityassertionmarkuplanguage)、ws-federation、kerberos等),不同的应用系统通过支持单点登录协议实现单点登录;

采用单点登录网关,将一个安全网关放置在多个应用系统的前面,用户在安全网关完成登录操作后,才能通过安全网关访问后面的应用系统;用户通过安全网关访问后面的应用系统时,无需再进行登录操作;

采用共享cookie,多个web应用系统通过共享标记用户已完成登录(身份鉴别)的cookie来实现单点登录。

对于采用单点登录协议、单点登录网关的单点登录,应用系统原本的登录逻辑或方式要进行修改或者不作修改。若应用系统原本采用的登录逻辑或方式不修改,则通常采用口令代填技术,即由应用系统中的单点登录协议组件或单点登录网关代用户填写登录应用系统的帐户名、口令。若应用系统原本采用的登录逻辑或方式进行了修改,则应用系统原本的登录逻辑或方式被去掉,不再起作用。

目前的单点登录技术存在以下问题:

(1)若采用单点登录协议,则需实施专门的单点登录协议组件;

(2)若在单点登录协议的基础上,同时采用了口令代填技术,则单点登录系统需要主动获取、保存用户在不同应用系统的帐户名、口令,并负责保证其保存的用户在不同应用系统的帐户口令与应用系统中保存的用户帐户口令一致(同步);

(3)若采用单点登录网关,由于所有的请求、响应都需要经过单点登录网关,则会对访问应用系统的性能造成显著影响;

(4)采用共享cookie,则需要不同的web应用系统有共同的域名部分。



技术实现要素:

本发明的目的是提出一种单点登录技术方案以克服现有技术的不足。

为了实现本发明的目的,本发明所提出的技术方案是:一种单点登录方法,具体如下:

当用户使用浏览器请求访问一个web应用系统或请求访问web应用系统的受控资源或功能需要在web应用系统登录(logon)时,或者使用浏览器通过一个门户网站请求访问一个需要登录才能访问的web应用系统时,web应用系统或门户网站通过页面代码将用户浏览器引导到单点登录服务器(如通过url重定向、自动post、异步传输方式如ajax),请求登录web应用系统;浏览器提交给单点登录服务器的登录web应用系统的请求中包含有用户要登录的web应用系统的标识信息(如web应用系统的名称、域名、标识符等);

单点登录服务器检查请求登录web应用系统的用户是否已在单点登录服务器完成身份鉴别(或登录),若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续操作;若已完成,则进行后续操作;

单点登录服务器根据用户要登录的web应用系统的标识信息(以及用户在单点登录服务器的身份或帐户信息),从应用系统帐户名和口令存储库获得用户在web应用系统的帐户名、口令,然后通过浏览器将用户在web应用系统的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统(如通过url重定向将帐户名、口令包含在重定向后的url中,或者通过自动post方式以form数据的形式将帐户名、口令提交到web应用系统,或者通过异步传输方式如ajax将帐户名、口令提交到web应用系统);

所述单点登录服务器是一个辅助用户登录web应用系统的系统;所述单点登录服务器维护有自己的用户帐户数据,用以对使用单点登录服务器的用户进行身份鉴别;

所述应用系统帐户名和口令存储库是用于存放用户在不同web应用系统的帐户名、口令的数据存储系统;所述应用系统帐户名和口令存储库是单点登录服务器能直接访问的数据存储系统(如数据库、文件),或者是用户移动终端(如手机、平板电脑、智能穿戴装置等)中的数据存储系统(如移动终端中的微小数据库、文件)。

在以上登录过程中,若所述单点登录服务器通过浏览器提交到web应用系统的用户帐户名、口令不正确,则:

web应用系统通过浏览器向单点登录服务器报告出错信息;

接收到出错信息后,单点登录服务器要求用户通过浏览器提交登录web应用系统的帐户名、口令;

用户通过浏览器提交登录web应用系统的帐户名、口令后,单点登录服务器一方面使用用户提交的帐户名、口令对应用系统帐户名和口令存储库中的用户帐户名、口令进行更新,另一方面通过浏览器将用户提交的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统。

以上所述帐户名、口令更新包括如下情形:

情形1:应用系统帐户名和口令存储库中保存的用户在web应用系统的帐户名与用户通过浏览器提交的帐户名相同,单点登录服务器使用用户通过浏览器提交的口令替代应用系统帐户名和口令存储库中保存的原有口令;

情形2:应用系统帐户名和口令存储库中保存的用户在web应用系统的帐户名与用户通过浏览器提交的帐户名不相同,单点登录服务器删除应用系统帐户名和口令存储库中原有保存的用户在web应用系统的帐户名、口令,将用户通过浏览器提交的帐户名、口令保存到应用系统帐户名和口令存储库中。

对于以上所述单点登录方法,若被web应用系统(通过页面代码)引导到单点登录服务器的浏览器提交给单点登录服务器的登录web应用系统的请求中包含有被web应用系统(采用对称或非对称密钥)加密的随机码(随机字串或随机数),则单点登录服务器解密获得随机码,并通过浏览器将解密的随机码(连同用户登录web应用系统的帐户名、口令一起)按web应用系统约定的方式提交到web应用系统。

对于以上所述单点登录方法,若用户在web应用系统的帐户名、口令保存在用户移动终端中(即应用系统帐户名和口令存储库是用户移动终端中的数据存储系统),则用户使用移动终端(中的专门的辅助登录程序或app)连接单点登录服务器,单点登录服务器从用户移动终端中获得用户登录web应用系统的帐户名、口令。

对于以上所述单点登录方法,当用户浏览器被web应用系统或门户网站(通过页面代码)引导到单点登录服务器请求登录web应用系统后,若单点登录服务器无法从应用系统帐户名和口令存储库获得用户在web应用系统中的帐户名、口令(即应用系统帐户名和口令存储库中没有用户在web应用系统的帐户名、口令),则单点登录服务器要求用户通过浏览器提交用户在web应用系统的帐户名、口令,而在用户提交其在web应用系统的帐户名、口令之后,单点登录服务器一方面将用户提交的帐户名、口令保存到应用系统帐户名和口令存储库中,另一方面通过浏览器将用户提交的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统。

对于以上所述单点登录方法,若所述单点登录服务器同时也作为一个门户网站,则:

当用户使用浏览器访问同时作为一个门户网站的单点登录服务器、点击请求访问一个需要登录才能访问的web应用系统时,单点登录服务器检查请求登录web应用系统的用户是否已在单点登录服务器完成身份鉴别(或登录),若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续操作;若已完成,则进行后续操作;

单点登录服务器根据用户要登录的web应用系统的标识信息(以及用户在单点登录服务器的身份或帐户信息),从应用系统帐户名和口令存储库获得用户在web应用系统的帐户名、口令,然后通过浏览器将用户在web应用系统的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统。

针对以上所述单点登录方法的一种口令更新方法如下:

当用户使用浏览器在web应用系统进行帐户的口令更新时,web应用系统通过页面代码将用户浏览器引导到单点登录服务器,请求更新用户在web应用系统的帐户的口令;浏览器提交给单点登录服务器的口令更新请求中包含有用户要更新口令的web应用系统的标识信息(如web应用系统的名称、域名、标识符等);

单点登录服务器检查请求更新口令的用户是否已在单点登录服务器完成身份鉴别(或登录),若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续操作;若已完成,则进行后续操作;

单点登录服务器根据用户要更新口令的web应用系统的标识信息确定用户要更新口令的帐户所在的web应用系统;

单点登录服务器要求用户通过浏览器提交更新的口令;

接收到用户提交的更新的口令后,单点登录服务器一方面使用用户提交的更新的口令更新应用系统帐户名和口令存储库中的用户在web应用系统的帐户的口令,另一方面通过浏览器将用户提交的更新的口令按web应用系统约定的更新的口令的提交方式提交到web应用系统。

对于以上所述口令更新方法,若用户在web应用系统的帐户名、口令保存在用户移动终端中(即应用系统帐户名和口令存储库是用户移动终端中的数据存储系统),则在用户更新其在web应用系统的帐户的口令的过程中,用户使用移动终端(中的专门辅助登录程序或app)连接单点登录服务器,单点登录服务器使用用户提交的更新的口令更新用户移动终端中保存的用户在web应用系统的帐户的口令。

对于以上所述单点登录方法,若所述应用系统帐户名和口令存储库是单点登录服务器能直接访问的数据存储系统(如数据库、文件),但其中存储的(每个或某些)用户的帐户数据(包括帐户名、口令)被对应用户的密钥(公钥或对称密钥)加密,则当单点登录服务器需要对用户的帐户数据进行操作时(如获取用户在要登录的web应用系统中的帐户名、口令,或者对用户在web应用系统中的帐户名、口令进行更新等),用户使用移动终端(中的专门程序或app)连接单点登录服务器,由移动终端中的程序或app使用用户密钥(如私钥、对称密钥)解密用户的帐户数据,之后单点登录服务器对解密后的用户帐户数据进行操作(如获取用户在要登录的web应用系统中的帐户名、口令,或者对用户在web应用系统中的帐户名、口令进行更新等)。

相对于现有的单点登录技术,本发明的方法具有以下优点:

(1)web应用系统仍然采用原本的帐户名、口令登录方式,无需实施专门的单点登录协议组件,只需对web应用系统的登录页面作少量的改动,而且如果需要的话,可以进一步对web应用系统的帐户口令更新页面作少量改动(但这也不是必须的);

(2)单点登录系统无需主动获取、保存用户在不同web应用系统的帐户名、口令,无需负责保证其保存的用户在不同web应用系统的帐户口令与web应用系统中保存的用户帐户口令一致(同步),单点登录系统最多被动地保存、更新用户在不同web应用系统的帐户名、口令,甚至完全不需要保存用户在不同web应用系统的帐户名、口令;

(3)不会对web应用系统的性能造成任何影响。

在本发明的实施中,若用户在web应用系统的帐户名、口令保存在用户的移动终端中,那么,单点登录系统甚至不用保存用户在web应用系统的帐户名、口令,这样更安全。

当然,本发明实施简单所付出的代价是:将用户在不同web应用系统的帐户名、口令保存到应用系统帐户名和口令存储库中需要用户手工干预,但这也是一次性的、偶发性的。

以上所述单点登录方法针对的是web应用系统直接采用口令对用户进行登录鉴别的情形,所述方法可以扩展到web应用系统不是直接采用口令对用户进行登录鉴别而是采用口令散列值对用户进行登录鉴别的情形,具体如下:应用系统帐户名和口令存储库中存储的是用户登录web应用系统的帐户所对应的口令或帐户所对应的口令的散列值;

在用户登录web应用系统的过程中,所述扩展得到的单点登录方法与原有方法的差别如下(根据口令的存储方式又分为两种情况):

若应用系统帐户名和口令存储库中存储的是用户登录web应用系统的帐户所对应的口令,则在用户登录web应用系统的过程中,单点登录服务器从应用系统帐户名和口令存储库获得用户在web应用系统的帐户的口令,然后生成口令的散列值,之后,单点登录服务器通过浏览器将用户在web应用系统的帐户名以及口令散列值所形成的登录鉴别数据按web应用系统约定的登录鉴别数据提交方式提交到web应用系统(如通过url重定向将帐户名以及口令散列值所形成的登录鉴别数据包含在重定向后的url中,或者通过自动post方式以form数据的形式将帐户名以及口令散列值所形成的登录鉴别数据提交到web应用系统,或者通过异步传输方式如ajax将帐户名以及口令散列值所形成的登录鉴别数据提交到web应用系统);

若应用系统帐户名和口令存储库中存储的是用户登录web应用系统的帐户所对应的口令的散列值,则在用户登录web应用系统的过程中,单点登录服务器从应用系统帐户名和口令存储库获得用户在web应用系统的帐户的口令的散列值,然后单点登录服务器通过浏览器将用户在web应用系统的帐户名以及口令散列值所形成的登录鉴别数据按web应用系统约定的登录鉴别数据提交方式提交到web应用系统。

附图说明

图1为本发明方法的流程图。

图2为本发明实施案例1的示意图。

图3为本发明实施案例2的示意图。

图4为本发明实施案例3的示意图。

图5为本发明实施案例4的示意图。

图6为本发明实施案例5的示意图。

图7为本发明实施案例6的示意图。

具体实施方式

下面结合实施例对本发明的具体实施方式进行描述。以下实施例仅仅描述的是本发明的几种可能实施方式,不代表全部可能的实施方式,不作为对本发明保护范围的限制。

图1为本发明方法的流程图,本发明的单点登录方法主要包括以下步骤:

用户使用浏览器请求访问一个web应用系统或请求访问web应用系统的受控资源或功能需要在web应用系统登录,或者使用浏览器通过一个门户网站请求访问一个需要登录才能访问的web应用系统;

web应用系统或门户网站通过页面代码将用户浏览器引导到单点登录服务器,请求登录web应用系统;浏览器提交给单点登录服务器的登录web应用系统的请求中包含有用户要登录的web应用系统的标识信息;

单点登录服务器检查请求登录web应用系统的用户是否已在单点登录服务器完成身份鉴别,若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续操作;若已完成,则进行后续操作;

单点登录服务器根据用户要登录的web应用系统的标识信息,从应用系统帐户名和口令存储库获得用户在web应用系统的帐户名、口令;

单点登录服务器通过浏览器将用户在web应用系统的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统;

其中,单点登录服务器是一个辅助用户登录web应用系统的系统;所述单点登录服务器维护有自己的用户帐户数据,用以对使用单点登录服务器的用户进行身份鉴别;

应用系统帐户名和口令存储库是用于存放用户在不同web应用系统的帐户名、口令的数据存储系统;所述应用系统帐户名和口令存储库是单点登录服务器能直接访问的数据存储系统,或者是用户移动终端中的数据存储系统。

实施例1、

此实施例的应用场景如图2所示,有一个或多个web应用系统,有一个辅助用户在web应用系统登录的单点登录服务器,单点登录服务器维护有对用户进行身份鉴别的帐户数据库,有一个用于存放用户在不同web应用系统的帐户名、口令的应用系统帐户名和口令存储库,此应用系统帐户名和口令存储库是单点登录服务器能直接访问的数据存储系统(如数据库、文件)。

当用户使用浏览器请求访问一个web应用系统或访问web应用系统的受控资源或功能而需要在web应用系统登录时,web应用系统通过页面代码将用户浏览器引导到单点登录服务器(如通过url重定向、自动post、异步传输方式如ajax),请求登录web应用系统;浏览器提交给单点登录服务器的登录web应用系统的请求中包含有用户要登录的web应用系统的标识信息(如web应用系统的名称、域名、标识符等);

单点登录服务器检查请求登录web应用系统的用户是否已在单点登录服务器完成身份鉴别(或登录),若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续操作;若已完成,则进行后续操作;

单点登录服务器根据用户要登录的web应用系统的标识信息(以及用户在单点登录服务器的身份或帐户信息),从应用系统帐户名和口令存储库获得用户在web应用系统的帐户名、口令,然后通过浏览器将用户在web应用系统的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统(如通过url重定向将帐户名、口令包含在重定向后的url中,或者通过自动post方式以form数据的形式将帐户名、口令提交到web应用系统,或者通过异步传输方式如ajax将帐户名、口令提交到web应用系统)。

实施例2、

此实施例的应用场景如图3所示,有一个或多个web应用系统,有一个辅助用户在web应用系统登录的单点登录服务器,单点登录服务器维护有对用户进行身份鉴别的帐户数据库,用户的移动终端(如手机、平板电脑、智能穿戴装置)有一个用于存放用户在不同web应用系统的帐户名、口令的应用系统帐户名和口令存储库。

当用户使用浏览器请求访问一个web应用系统或访问web应用系统的受控资源或功能而需要在web应用系统登录时,web应用系统通过页面代码将用户浏览器引导到单点登录服务器(如通过url重定向、自动post、异步传输方式如ajax),请求登录web应用系统;浏览器提交给单点登录服务器的登录web应用系统的请求中包含有用户要登录的web应用系统的标识信息(如web应用系统的名称、域名、标识符等);

单点登录服务器检查请求登录web应用系统的用户是否已在单点登录服务器完成身份鉴别(或登录),若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续操作;若已完成,则进行后续操作;

用户预先或此时使用移动终端(中的专门的辅助登录程序或app)连接单点登录服务器;

单点登录服务器根据用户要登录的web应用系统的标识信息,从移动终端中的应用系统帐户名和口令存储库获得用户在web应用系统的帐户名、口令,然后通过浏览器将用户在web应用系统的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统(如通过url重定向将帐户名、口令包含在重定向后的url中,或者通过自动post方式以form数据的形式将帐户名、口令提交到web应用系统,或者通过异步传输方式如ajax将帐户名、口令提交到web应用系统)。

实施例3、

此实施例的应用场景如图4所示,有一个或多个web应用系统,有一个门户网站,用户通过门户网站可以点击访问不同的web应用系统,有一个辅助用户在web应用系统登录的单点登录服务器,单点登录服务器维护有对用户进行身份鉴别的帐户数据库,有一个用于存放用户在不同web应用系统的帐户名、口令的应用系统帐户名和口令存储库,此应用系统帐户名和口令存储库是单点登录服务器能直接访问的数据存储系统(如数据库、文件)。

当用户在门户网站点击请求访问一个需要登录才能访问的web应用系统时,门户网站通过页面代码将用户浏览器引导到单点登录服务器(如通过url重定向、自动post、异步传输方式如ajax),请求登录web应用系统;浏览器提交给单点登录服务器的登录web应用系统的请求中包含有用户要登录的web应用系统的标识信息(如web应用系统的名称、域名、标识符等);

单点登录服务器检查请求登录web应用系统的用户是否已在单点登录服务器完成身份鉴别(或登录),若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续操作;若已完成,则进行后续操作;

单点登录服务器根据用户要登录的web应用系统的标识信息(以及用户在单点登录服务器的身份或帐户信息),从应用系统帐户名和口令存储库获得用户在web应用系统的帐户名、口令,然后通过浏览器将用户在web应用系统的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统(如通过url重定向将帐户名、口令包含在重定向后的url中,或者通过自动post方式以form数据的形式将帐户名、口令提交到web应用系统,或者通过异步传输方式如ajax将帐户名、口令提交到web应用系统)。

实施例4、

此实施例的应用场景如图5所示,有一个或多个web应用系统,有一个门户网站,用户通过门户网站可以点击访问不同的web应用系统,有一个辅助用户在web应用系统登录的单点登录服务器,单点登录服务器维护有对用户进行身份鉴别的帐户数据库,用户的移动终端(如手机、平板电脑、智能穿戴装置)有一个用于存放用户在不同web应用系统的帐户名、口令的应用系统帐户名和口令存储库。

当用户在门户网站点击请求访问一个需要登录才能访问的web应用系统时,门户网站通过页面代码将用户浏览器引导到单点登录服务器(如通过url重定向、自动post、异步传输方式如ajax),请求登录web应用系统;浏览器提交给单点登录服务器的登录web应用系统的请求中包含有用户要登录的web应用系统的标识信息(如web应用系统的名称、域名、标识符等);

单点登录服务器检查请求登录web应用系统的用户是否已在单点登录服务器完成身份鉴别(或登录),若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续的操作;若已完成,则进行后续的操作;

用户预先或此时使用移动终端(中的专门的辅助登录程序或app)连接单点登录服务器;

单点登录服务器根据用户要登录的web应用系统的标识信息,从移动终端中的应用系统帐户名和口令存储库获得用户在web应用系统的帐户名、口令,然后通过浏览器将用户在web应用系统的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统(如通过url重定向将帐户名、口令包含在重定向后的url中,或者通过自动post方式以form数据的形式将帐户名、口令提交到web应用系统,或者通过异步传输方式如ajax将帐户名、口令提交到web应用系统)。

实施例5、

此实施例的应用场景如图6所示,有一个或多个web应用系统,有一个辅助用户在web应用系统登录的单点登录服务器,单点登录服务器同时作为一个门户网站,用户通过单点登录服务器可以点击访问不同的web应用系统,单点登录服务器维护有对用户进行身份鉴别的帐户数据库,有一个用于存放用户在不同web应用系统的帐户名、口令的应用系统帐户名和口令存储库,此应用系统帐户名和口令存储库是单点登录服务器能直接访问的数据存储系统(如数据库、文件)。

当用户使用浏览器访问同时作为一个门户网站的单点登录服务器点击请求访问一个需要登录的web应用系统时,单点登录服务器检查请求登录web应用系统的用户是否已在单点登录服务器完成身份鉴别(或登录),若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续的操作;若已完成,则进行后续的操作;

单点登录服务器根据用户要登录的web应用系统的标识信息(以及用户在单点登录服务器的身份或帐户信息),从应用系统帐户名和口令存储库获得用户在web应用系统的帐户名、口令,然后通过浏览器将用户在web应用系统的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统(如通过url重定向将帐户名、口令包含在重定向后的url中,或者通过自动post方式以form数据的形式将帐户名、口令提交到web应用系统,或者通过异步传输方式如ajax将帐户名、口令提交到web应用系统)。

实施例6、

此实施例的应用场景如图7所示,有一个或多个web应用系统,有一个辅助用户在web应用系统登录的单点登录服务器,单点登录服务器同时作为一个门户网站,用户通过单点登录服务器可以点击访问不同的web应用系统,单点登录服务器维护有对用户进行身份鉴别的帐户数据库,用户的移动终端(如手机、平板电脑、智能穿戴装置)有一个用于存放用户在不同web应用系统的帐户名、口令的应用系统帐户名和口令存储库。

当用户使用浏览器访问作为一个门户网站的单点登录服务器点击请求访问一个需要登录的web应用系统时,单点登录服务器检查请求登录web应用系统的用户是否已在单点登录服务器完成身份鉴别(或登录),若没有,则对用户进行身份鉴别,完成身份鉴别之后进行后续的操作;若已完成,则进行后续的操作;

用户预先或此时使用移动终端(中的专门的辅助登录程序或app)连接单点登录服务器;

单点登录服务器根据用户要登录的web应用系统的标识信息,从移动终端中的应用系统帐户名和口令存储库获得用户在web应用系统的帐户名、口令,然后通过浏览器将用户在web应用系统的帐户名、口令按web应用系统约定的帐户名、口令提交方式提交到web应用系统(如通过url重定向将帐户名、口令包含在重定向后的url中,或者通过自动post方式以form数据的形式将帐户名、口令提交到web应用系统,或者通过异步传输方式如ajax将帐户名、口令提交到web应用系统)。

实施例7、

在此实施例中,应用系统帐户名和口令存储库是单点登录服务器能直接访问的数据存储系统(如数据库、文件),但其中存储的(每个或某些)用户的帐户数据(包括帐户名、口令)被对应用户的密钥(公钥或对称密钥)加密;在应用前述单点登录方法进行用户登录的过程中,当单点登录服务器需要对用户的帐户数据进行操作时(如获取用户在要登录的web应用系统中的帐户名、口令,或者对用户在web应用系统中的帐户名、口令进行更新等),用户使用移动终端(中的专门程序或app)连接单点登录服务器,由移动终端中的程序或app使用用户密钥(如私钥、对称密钥)解密用户的帐户数据,之后单点登录服务器对解密后的用户帐户数据进行操作(如获取用户在要登录的web应用系统中的帐户名、口令,或者对用户在web应用系统中的帐户名、口令进行更新等);这里,移动终端可以将解密后的用户帐户数据全部返回给单点登录服务器供单点登录服务器使用,或者移动终端仅将解密后的用户帐户数据中单点登录服务器需要的数据返回给单点登录服务器;若单点登录服务器对用户帐户数据进行的操作是对帐户数据进行更新,则移动终端将更新的用户帐户数据加密后返回给单点登录服务器供单点登录服务器保存。

实施例7可以在实施例2、4、6的基础上实施。

实施例8、

此实施例可以在实施例1-7中任一个的基础上实施,此实施例与实施例1-7的差别在于:

当用户登录web应用系统时,web应用系统不是直接采用口令对用户进行登录鉴别而是采用口令散列值对用户进行登录鉴别,此时,应用系统帐户名和口令存储库中存储的是用户登录web应用系统的帐户的口令或帐户的口令的散列值;

若应用系统帐户名和口令存储库中存储的是用户登录web应用系统的帐户所对应的口令,则在用户登录web应用系统的过程中,单点登录服务器从应用系统帐户名和口令存储库获得用户在web应用系统的帐户的口令,然后生成口令的散列值,之后,单点登录服务器通过浏览器将用户在web应用系统的帐户名以及口令散列值所形成的登录鉴别数据按web应用系统约定的登录鉴别数据提交方式提交到web应用系统(如通过url重定向将帐户名以及口令散列值所形成的登录鉴别数据包含在重定向后的url中,或者通过自动post方式以form数据的形式将帐户名以及口令散列值所形成的登录鉴别数据提交到web应用系统,或者通过异步传输方式如ajax将帐户名以及口令散列值所形成的登录鉴别数据提交到web应用系统);

若应用系统帐户名和口令存储库中存储的是用户登录web应用系统的帐户所对应的口令的散列值,则在用户登录web应用系统的过程中,单点登录服务器从应用系统帐户名和口令存储库获得用户在web应用系统的帐户的口令的散列值,然后单点登录服务器通过浏览器将用户在web应用系统的帐户名以及口令散列值所形成的登录鉴别数据按web应用系统约定的登录鉴别数据提交方式提交到web应用系统。

基于本发明的方法可以构建相应的单点登录系统,系统包括单点登录服务器和应用系统帐户名和口令存储库,具体地:

单点登录服务器:一个辅助用户登录web应用系统的系统;所述单点登录服务器维护有自己的用户帐户数据库,用以对使用单点登录服务器的用户进行身份鉴别;

应用系统帐户名和口令存储库:用于存放用户在不同web应用系统的帐户名、口令的数据存储系统;所述应用系统帐户名和口令存储库是单点登录服务器能直接访问的数据存储系统(如数据库、文件),或者是用户移动终端中的数据存储系统(如微小数据库、文件);

当用户使用浏览器访问一个web应用系统或请求访问web应用系统的受控资源或功能需要在web应用系统进行登录时,或者使用浏览器通过一个门户网站请求访问一个需要登录才能访问的web应用系统时,所述单点登录系统按前述单点登录方法辅助用户完成在web应用系统的登录操作;

当用户使用浏览器在web应用系统进行帐户的口令更新时,所述单点登录系统按前述口令更新方法辅助用户完成在web应用系统的口令更新。

其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1