一种单点登录系统及其实现方法

文档序号:7816628阅读:823来源:国知局
一种单点登录系统及其实现方法
【专利摘要】本发明公开了一种单点登录系统及其实现方法,该方法包括如下步骤:客户机向应用服务器发送登录请求,集成于应用服务器上的登录认证客户端将请求转至登录认证服务器,登录认证服务器通过登录代理服务获取客户机的唯一标识,并将唯一标识、用户名、密码、登录状态等登录信息保存或更新至用户信息数据库,登录认证服务器根据唯一标识查询用户登录信息,并派发加密令牌给应用服务器,应用服务器根据该令牌查询用户的登录情况。本发明中,登录认证服务器通过安装在客户机后台的登录代理服务获取客户机唯一标识,可实现多应用系统间跨浏览器、跨架构(B/S,C/S)且安全可靠的单点登录目的。
【专利说明】
一种单点登录系统及其实现方法

【技术领域】
[0001]本发明涉及一种单点登录系统和实现方法,主要应用于多应用系统间的统一登录和注销。

【背景技术】
[0002]当存在多个业务系统时,通过统一的用户登录平台,只需要进行一次登录或注销,即可完成在多个业务系统中的统一登录或注销,大大方便了用户的使用和操作。目前,广泛使用的基于浏览器cookie的单点登录方法存在以下缺陷:
[0003](I)基于http协议的访问请求,在安全性上不能保证,而使用https协议,传输速度慢。
[0004](2)基于cookie的单点登录方法是基于浏览器的,其无法跨浏览器进行统一登录和注销。
[0005](3)由于基于cookie的单点登录方法是基于浏览器的,故无法在C/S架构中使用。


【发明内容】

[0006]为克服以上单点登录方法的不足和缺陷,本发明提供了一种新的单点登录方法,其不仅安全可靠,而且可以实现跨浏览器和跨架构操作。
[0007]为了解决上述技术问题,本发明公开了一种单点登录系统,其基于一个登录认证服务器,登录认证客户端以及用户信息数据库,完成客户机对多个应用服务器的统一登录/注销。
[0008]本发明为实现一种单点登录系统,其至少包括以下内容:
[0009]系统包括客户机、登录认证服务器、登录认证客户端、用户信息数据库。其中,客户机分为前台和后台两部分,前台部分可以为浏览器或桌面程序,可向应用服务器发送登录请求,后台部分为登录代理服务,登录认证服务器访问该服务生成客户机的唯一标识;登录认证服务器完成用户登录情况的查询校验等工作;登录认证客户端集成于各个应用中,实现对登录请求进行过滤和转发;用户信息数据库保存客户机唯一标识、用户名、密码、登录状态等登录信息。
[0010]用户第一次登录系统,可分为通过浏览器方式第一次登录系统以及通过桌面程序方式第一次登录系统。其中,用户通过浏览器方式第一次登录系统,登录认证服务器将返回一个登录界面;用户通过桌面程序方式第一次登录系统,登录认证客户端将返回一个登录界面。
[0011]登录界面可检测、自动下载并安装一个登录代理程序。该程序在客户机后台启动一个登录代理服务,该服务与登录认证服务器保持交互,登录认证服务器可通过该服务获取到客户机的mac地址等硬件信息,作为客户机的唯一标识。
[0012]单点登录系统的实现方法包括了登录请求过程、登录认证过程、登录信息持久化过程、登录注销过程。
[0013]在登录请求过程中,应用服务器收到客户机发来的访问请求,其集成的登录认证客户端会对登录请求进行解析,解析过程包括:
[0014]Al:登录认证客户端在应用服务器的会话中找到用户凭证,完成用户登录。用户凭证包括客户机唯一标识和用户名;
[0015]A2:登录认证客户端在登录请求中检测到加密令牌,将加密令牌发至登录认证服务器进行校验;
[0016]A3:登录认证客户端在登录请求中未检测到加密令牌,将登录请求转至登录认证服务器。
[0017]在登录认证过程中,登录认证服务器会对应用服务器转发过来的加密令牌、登录请求、用户名和密码进行校验认证,至少包括以下内容:
[0018]B1:登录认证服务器对加密令牌进行校验,校验通过后,销毁加密令牌,并返回登录信息至应用服务器,在应用会话中保存客户机唯一标识和用户名作为用户凭证,完成用户登录;
[0019]B2:登录认证服务器可检测客户机上是否有登录代理服务,若没有,则客户机返回登录界面;若有,则通过登录代理服务获取客户机唯一标识。
[0020]B3:登录认证服务器可在用户信息数据库中检测客户机唯一标识。若检测到该唯一标识有对应的登录信息,则返回加密令牌给应用服务器;若未检测到该唯一标识或其登录信息,则客户机返回登录页面。
[0021]B4:登录认证服务器获取用户名和密码,在用户信息数据库中查询该用户名和密码是否有效。
[0022]在登录信息持久化过程中,登录认证服务器会将客户机唯一标识、用户名、密码等保存至用户信息数据库中。
[0023]在登录注销过程中,应用服务器收到客户机的登录注销请求,会将注销请求转发至登录认证服务器,登录认证服务器获取客户机唯一标识,并更新用户信息数据库中的用户登录信息。
[0024]本发明公开了一种单点登录系统及其实现方法,该方法包括如下步骤:客户机向应用服务器发送登录请求,集成于应用服务器上的登录认证客户端将请求转至登录认证服务器,登录认证服务器通过登录代理服务获取客户机的唯一标识,并将唯一标识、用户名、密码、登录状态等登录信息保存或更新至用户信息数据库,登录认证服务器根据唯一标识查询用户登录信息,并派发加密令牌给应用服务器,应用服务器根据该令牌查询用户的登录情况。本发明中,登录认证服务器通过安装在客户机后台的登录代理服务获取客户机唯一标识,可实现多应用系统间跨浏览器、跨架构(B/S,C/S)且安全可靠的单点登录目的。

【专利附图】

【附图说明】
[0025]下面结合附图和【具体实施方式】对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0026]图1为单点登录实施步骤登录过程图
[0027]图2为单点登录实施步骤注销过程图。
[0028]图3为单点登录各阶段的信息流转图。

【具体实施方式】
[0029]实施例
[0030]如图1?图3所示,本实施例具体包括以下内容:
[0031]1、第一次登录应用A
[0032]I.I客户机请求访问应用A。
[0033]1.2应用A上集成的登录认证客户端会对该请求进行分析,在应用A的会话(sess1n)中检测是否存在用户凭证,检测请求中是否带有加密令牌。当检测到会话中无用户凭证,且请求中不带有加密令牌,进入下一步。
[0034]1.3若用户通过浏览器访问,则将该请求重定向到登录认证服务器,登录认证服务器收到应用A重定向过来的请求,向客户机返回一个用户登录验证页面;若用户通过桌面程序访问,登录认证服务器检测到客户机无登录代理服务,则登录认证客户端会启动客户机的浏览器,返回用户登录验证页面。
[0035]1.4登录验证页面会要求用户安装一个用于检测客户机唯一标识的程序,用户同意安装后,该程序会自动下载并安装于客户机上,该程序将在客户机后台启动一个登录代理服务。登录认证服务器会时刻与该服务保持交互,以获取客户机唯一标识。
[0036]1.5用户在登录页面中输入用户名和密码,登录认证服务器对用户名和密码进行校验。若用户名和密码正确,则在用户信息数据库中添加该用户的登录信息,登录信息至少包括客户机唯一标识、用户名、密码、登录状态;若用户名和密码校验不正确,则向客户机重新返回登录页面,重复本步骤。
[0037]1.6登录认证服务器生成一个与用户登录信息相关联的加密令牌,加密令牌作为参数随请求返回至应用A。
[0038]1.7登录认证客户端检测到请求中的加密令牌,将加密令牌发送到登录认证服务器进行校验,校验成功后,销毁加密令牌,返回登录信息到应用A,并在应用A的会话中保存该用户的凭证,完成应用A的登录。
[0039]2、第一次访问应用B
[0040]2.1客户机请求访问应用B。
[0041]2.2应用B上集成的登录认证客户端对该请求进行分析,检测请求中是否带有加密令牌,在应用B的会话中检测是否存在用户凭证。当检测到会话中无用户凭证,且请求中不带有加密令牌,进入下一步。
[0042]2.3登录认证客户端将请求转至登录认证服务器,登录认证服务器检测到客户机上存在登录代理服务,登录认证服务器通过该服务获取客户机唯一标识。
[0043]2.4登录认证服务器在用户信息数据库中查询是否存在该唯一标识。当登录认证服务器检测到该唯一标识及其对应的登录信息,登录认证服务器会生成一个加密令牌,并将该令牌返回给应用B。
[0044]2.5应用B收到加密令牌后,与登录认证服务器进行校验,校验成功后,立即销毁该加密令牌,返回登录信息到应用B,将应用B纳入单点登录范围内,并在应用B的会话中保存该用户凭证。
[0045]3、第二次登录应用A或应用B
[0046]3.1当用户下次访问应用A或应用B的时候,由于各自应用的会话中能够拿到该请求用户的凭证,即可实现直接登录。
[0047]4、用户注销应用A或应用B
[0048]4.1用户向应用A或应用B发送注销请求。
[0049]4.2应用A或应用B收到注销请求后,将请求发至登录认证服务器,登录认证服务器通过登录代理服务获取客户机唯一标识,并更新用户信息数据库中的用户登录信息。
[0050]本发明提供了一种单点登录系统及其实现方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
【权利要求】
1.一种单点登录系统,其特征在于,包括客户机、登录认证服务器、登录认证客户端、以及用户信息数据库,用于对两个以上不同应用服务器上的不同应用进行统一登录和注销管理; 所述客户机分为前台和后台两部分,前台部分为浏览器或桌面程序,用于向应用服务器发送登录请求,后台部分为登录代理服务,登录认证服务器访问该登录代理服务生成客户机的唯一标识; 所述登录认证服务器完成用户登录情况的查询校验; 登录认证客户端用于集成需要进行统一登录管理的所有应用,并对登录请求进行过滤和转发; 用户信息数据库保存客户机唯一标识、用户名、密码以及登录状态的登录信息。
2.根据权利要求1所述的系统,其特征在于,用户第一次登录系统,分为通过浏览器方式第一次登录系统以及通过桌面程序方式第一次登录系统。
3.根据权利要求2所述的系统,其特征在于,用户通过浏览器方式第一次登录系统,登录认证服务器返回一个登录界面。
4.根据权利要求2所述的系统,其特征在于,用户通过桌面程序方式第一次登录系统,登录认证客户端返回一个登录界面。
5.根据权利要求3或4所述的系统,其特征在于,所述登录界面用于检测、自动下载并安装一个登录代理程序;登录代理程序安装后用于在客户机后台启动一个登录代理服务,该服务与登录认证服务器保持交互,登录认证服务器通过该服务获取到客户机的mac地址的硬件信息,作为客户机的唯一标识。
6.一种单点登录实现方法,其特征在于,包括登录请求步骤、登录认证步骤、登录信息持久化步骤、以及登录注销步骤; 所述登录请求步骤中,客户机向应用服务器发送登录请求,登录认证客户端对登录请求进行解析,包括如下内容: Al:登录认证客户端在应用服务器的会话中找到用户凭证,完成用户登录;用户凭证包括客户机唯一标识和用户名; A2:如果登录认证客户端在登录请求中检测到加密令牌,将加密令牌发至登录认证服务器进行校验; A3:如果登录认证客户端在登录请求中未检测到加密令牌,将登录请求转至登录认证服务器; 所述登录认证步骤中,包括如下内容: B1:如果登录认证服务器收到加密令牌则对加密令牌进行校验,校验通过后,销毁加密令牌,并返回登录信息至应用服务器,在应用会话中保存客户机唯一标识和用户名作为用户凭证,完成用户登录; B2:登录认证服务器检测客户机上是否有登录代理服务,若没有,则客户机返回登录界面;若有,则通过登录代理服务获取客户机唯一标识; B3:登录认证服务器在用户信息数据库中检测客户机唯一标识,若检测到该唯一标识有对应的登录信息,则返回加密令牌给应用服务器;若未检测到该唯一标识或其登录信息,则客户机返回登录页面; B4:登录认证服务器获取用户名和密码,在用户信息数据库中查询该用户名和密码是否有效,如果有效,则进行下一步,否则结束; 所述登录信息持久化步骤,在登录页面输入用户名和密码,经认证有效后,将连同客户机唯一标识保存在用户信息数据库中; 所述登录注销步骤,在客户机进行登录注销操作后,登录注销请求转发至登录认证服务器,登录认证服务器获取客户机唯一标识,并更新用户信息数据库中的用户登录信息。
【文档编号】H04L29/06GK104301316SQ201410537914
【公开日】2015年1月21日 申请日期:2014年10月13日 优先权日:2014年10月13日
【发明者】高翔, 许家尧, 朱子杰 申请人:中国电子科技集团公司第二十八研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1