一种SSO认证方法、web服务器、认证中心和token校验中心的制作方法

文档序号:9581708阅读:848来源:国知局
一种SSO认证方法、web服务器、认证中心和token校验中心的制作方法
【技术领域】
[0001]本发明涉及web技术领域,具体涉及一种SS0认证方法、web服务器、认证中心和token校验中心。
【背景技术】
[0002]单点登录(SSO,Single Sign On)是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,它是一种可以将单次主要的登录映射到其他应用中用于同一个用户的登录的机制,是目前比较流行的企业业务整合的解决方案之一。
[0003]目前经常采用的SS0方案为基于会话的SS0方案,其基本实现方法为:在用户登录某个应用时,客户端将用户名和密码发送至登录服务器进行验证,验证成功之后,就在客户端和登陆服务器之间建立一个会话,在这个会话维持期间,用户的本次登录就将是有效的。当客户端需要连接其它web应用服务器的时候,web应用服务器会去确认这个会话,如果会话存在,则允许后续操作,会话失效,则拒绝操作。
[0004]这种使用会话来实现的单点登录一般局限在同一个应用服务器里面或者小范围之内。但经过多年的建设,我国企业中建立起来了一些基于web的应用系统,这些系统运行在多重操作系统和应用服务器上面,由不同的技术人员在不同时期采用不同的技术建立,采用多种相互独立的用户管理、身份验证系统,因此,这样的环境中为实现单点登陆带来了一定的困难;
[0005]当前软件解决方案有:
[0006]1)成熟软件的解决方案:IBM Webpshere单点登录方案,微软的.Net passport服务器,Netegrity SiteMinder 产品。
[0007]2)大多数企业都是通过建设统一认证门户来完成企业内部系统整合,通过各个内部系统局部改造,采用token认证或cookie票据校验的方式实现认证门户与Web应用之间的SS0认证,来完成企业内部系统统一认证。
[0008]以上解决方案相对比较成熟,但各自都存在一定的缺陷,具体如下:
[0009]1) IBM Webpshere单点登录方案只适合那些只是用IBM Websphere或者Domino应用服务器的环境,支持Intranet,但不支持多Internet域;
[0010]2)微软的.Net passport服务器不支持Intranet,但支持多Internet域;
[0011]3)Netegrity SiteMinder产品支持的应用类型和系统平台多,但是产品价格昂虫贝;
[0012]4)基于token的SS0认证,实施成本较低,但是一旦跨域的url访问请求被拦截,可利用拦截的url发起伪造的恶意访问,因此存在安全隐患;
[0013]5)基于cookie的SS0认证,实施成本较低,将用户一次登录的验证票据保存在客户端cookie及验证服务器中,通过将本地cookie中的验证票据与验证服务器的票据相比较,完成SS0登录验证,该方法存在的问题是一旦客户端的cookie信息被非法获取,则可以根据cookie信息在其他机器中模仿发起url访问,以实现恶意访问,存在安全隐患。

【发明内容】

[0014]为了解决现有存在的技术问题,本发明期望提供一种SS0认证方法、web服务器、认证服务器和token校验中心。
[0015]本发明实施例提供了一种单点登陆SS0认证方法,所述方法包括:
[0016]网络web服务器接收客户端发送的web应用访问请求;
[0017]web服务器根据所述web应用访问请求向令牌token校验中心发起token校验请求;
[0018]当web服务器接收到token校验中心返回的token校验成功的消息时,根据所述token校验成功的消息对客户端进行会话认证。
[0019]上述方案中,所述web应用访问请求包括:由web应用地址、用户账号标识和token信息组成的URL。
[0020]上述方案中,所述web服务器根据所述web应用访问请求向token校验中心发起token校验请求,包括:
[0021]web服务器接收到所述web应用访问请求之后,提取所述web应用访问请求中的URL,对所述URL进行解析,获得用户账号标识和token ID ;
[0022]web服务器向token校验中心发送token校验请求,所述token校验请求包括:所述获得的用户账号标识和token ID。
[0023]上述方案中,所述token校验成功的消息至少包括:对应于所述用户账号标识的sess1n ID。
[0024]上述方案中,所述web服务器根据所述token校验成功的消息对客户端进行会话认证,包括:
[0025]web服务器获取客户端本地的sess1n ID,判断所述客户端本地的sess1n ID与所述token校验成功的消息中的sess1n ID是否相同,相同时,确认所述客户端会话认证成功。
[0026]上述方案中,所述客户端本地的sess1n ID为认证中心发送给客户端之后,客户端利用cookie技术存储的sess1n ID或由认证中心写入客户端指定文件夹中的sess1nID。
[0027]本发明实施例提供了一种单点登陆SS0认证方法,所述方法包括:
[0028]令牌token校验中心接收网络web服务器发送的token校验请求;
[0029]token校验中心根据所述token校验请求进行token信息校验,当确认所述token信息合法时,向web服务器返回token信息校验成功的消息。
[0030]上述方案中,所述token校验请求,包括:用户账号标识和token信息。
[0031]上述方案中,所述token校验中心根据所述token校验请求进行token信息校验,包括:
[0032]token校验中心提取所述token校验请求中的用户账号标识和token信息;
[0033]根据所述用户账号标识在本地查找与所述用户账号标识相对应的token信息;
[0034]判断所述token校验请求中的token信息与本地查找到的token信息是否相同,相同时,确认所述token信息合法。
[0035]上述方案中,所述token校验成功的消息包括:sess1n ID;所述sess1n ID为存储于token校验中心的、与所述用户账号标识相对应的sess1n ID。
[0036]上述方案中,所述token校验中心根据所述token校验请求进行token信息校验之前,所述方法还包括:
[0037]token校验中心接收认证中心发送的获取token信息请求,所述获取token信息请求,包括:用户账号信息和sess1n ID;
[0038]token校验中心提取所述用户账号信息和sess1n ID,生成与所述用户账号信息和sess1n ID唯一对应的token信息,并将所述token信息返回给认证中心;
[0039]token校验中心保存所述用户账号信息、sess1n ID及token信息。
[0040]本发明实施例提供了一种单点登陆SS0认证方法,所述方法包括:
[0041]客户端登陆认证中心之后,认证中心接收客户端发送的获取统一资源定位符URL请求,所述获取URL请求中包括客户端希望访问的web应用标识及用户账号标识;
[0042]认证中心根据所述网络web应用标识生成URL后,将所述URL返回给客户端,所述URL用于客户端对web服务器发起web应用访问请求。
[0043]上述方案中,所述认证中心根据所述web应用标识生成URL,包括:
[0044]认证中心提取所述获取URL请求中的web应用标识,在本地查找与所述web应用标识对应的web应用地址;
[0045]认证中心提取所述获取URL请求中的用户账号,并生成与所述用户账号唯一对应的用户账号标识;
[0046]认证中心向token校验中心发送获取token信息请求,并接收token校验中心返回的token信息,所述获取token信息请求,包括:用户账号信息和sess1n ID,所述用户账号信息包括:用户账号标识和用户账号;
[0047]认证中心根据所述web应用地址、token信息及用户账号标识生成URL。
[0048]上述方案中,所述认证中心根据所述web应用地址、token信息及用户账号标识生成URL,包括:
[0049]认证中心将用户账号标识和token信息置于web应用地址之后,拼成URL。
[0050]本发明实施例提供了一种网络web服务器,所述web服务器包括:访问请求接收模块、令牌token校验请求发送模块、token校验结果接收模块及会话认证模块;其中
[0051]所述访问请求接收模块,用于接收客户端发送的web应用访问请求;
[0052]所述token校验请求发送模块,用于根据所述web应用访问请求向token校验中心发起token校验请求;
[0053]所述token校验结果接收模块,用于接收到token校验中心返回的token校验结果,所述token校验结果包括token校验成功的消息;
[0054]所述会话认证模块,用于在token校验结果接收模块接收到token校验成功的消息时,根据所述token校验成功的消息对客户端进行会话认证。
[0055]上述方案中,所述web应用访问请求包括:由web应用地址、用户账号标识和token信息组成的统一资源定位符URL ;
[0056]所述token校验请求发送模块,具体用于接收到web应用访问请求之后,提取所述web应用访问请求中的URL,对所述URL进行解析,获得用户账号标识和token ID ;token校验请求发送模块将所述获得的用户账号标识和token ID封装在token校验请求中,并将所述token校验请求发送给token校验中心。
[0057]上述方案中,所述token校验成功的消息,包括:对应于所述用户账号的sess1nID。
[0058]所述会话认证模块,具体用于获取客户端本
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1