基于令牌的HTTP无状态协议下信息系统数据接口认证方法技术方案

技术编号:20875525 阅读:22 留言:0更新日期:2019-04-17 11:23
本发明专利技术公开了一种基于令牌的HTTP无状态协议下信息系统数据接口认证方法,属于Web应用保密通信领域。该方法的主要特点是,客户端多次访问数据接口时,只有在第一次访问时,需要提供账号密码等认证信息。服务端通过访问数据库进行身份认证,并向客户端发送令牌信息。后续的访问中,客户端只需要提供在初次访问中获得的令牌信息即可,而服务端只需要进行令牌信息的验证而不再需要访问数据库。基于令牌实现数据接口的访问认证,降低了访问过程中账号密码等身份信息的泄露的可能性,提高了系统的安全性。此外,服务器对同一请求来源进行认证时,不再需要对数据库进行频繁访问操作,降低了系统资源的占用。

【技术实现步骤摘要】
基于令牌的HTTP无状态协议下信息系统数据接口认证方法
本专利技术涉及一种基于令牌的HTTP无状态协议下信息系统数据接口认证方法,属于Web应用保密通信领域。
技术介绍
HTTP无状态协议,是指HTTP协议对于事务处理、访问连接没有记忆能力,即每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的,它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况。传统B/S架构下信息管理系统数据接口的访问是基于HTTP协议进行的,客户端对服务端进行访问时通过携带认证信息完成身份认证,例如将账号密码和数据库中的信息进行匹配完成认证。认证通过后,服务端准许客户端访问系统的数据接口。访问结束后,连接会立刻断开。当客户端进行下一次数据接口的访问时,由于HTTP的无状态特性,即服务端对客户端没有上次访问的记忆,客户端和服务端仍要进行完整的身份认证。这样的情况下当访问很频繁时,信息系统需要进行频繁的数据库访问以完成对认证信息的匹配认证,这对于信息系统造成了很大的资源占用,一定程度上降低了系统的运行效率。针对上述存在的问题,我们基于令牌实现数据接口访问时的认证方法,避免系统在身份认证时进行频繁的数据库访问,以降低系统的资源占用提高运行效率。
技术实现思路
本专利技术的目的是针对上述问题,提供一种基于令牌的HTTP无状态协议下信息系统数据接口认证方法,目的是提高系统的认证效率,降低身份认证时的系统资源消耗。该方法的主要特点是,客户端多次访问数据接口时,只有在第一次访问时,需要提供账号密码等认证信息。服务端通过访问数据库进行身份认证,并向客户端发送令牌信息。后续的访问中,客户端只需要提供在初次访问中获得的令牌信息即可,而服务端只需要进行令牌信息的验证而不再需要访问数据库。本专利技术采用的技术方案按以下方式实现的:基于令牌的HTTP无状态协议下信息系统数据接口认证方法:步骤1)HTTP无状态协议环境下客户端对服务端的数据接口进行初次访问,客户端通过发送包含账号密码等认证信息的HTTP请求访问系统数据接口。步骤2)服务端接收客户端HTTP请求,针对认证信息,服务端通过访问数据库进行信息验证。如果认证成功,服务端生成令牌信息并保存在数据库以及系统缓存中。令牌信息为一段字符串,其中部分字符串包含令牌信息过期时间的时间戳,以验证令牌是否过期。服务端将令牌信息返回给客户端。步骤3)客户端接收到令牌信息并保存,当客户端再次访问系统的数据接口时,HTTP请求中只需包含令牌作为认证信息。步骤4)服务端再次接收客户端访问请求时,检查请求中包含的令牌信息与缓存中的存储令牌信息是否匹配。若令牌信息一致,则进行步骤5);若未在缓存中匹配到令牌信息,则服务端访问数据库查询令牌信息,如果匹配到相应信息,则将令牌信息保存在缓存中,并进行步骤5);如果在缓存和数据库中都未匹配到相应信息,则认证失败,服务端拒绝该次数据接口的访问请求。步骤5)提取令牌信息过期时间的时间戳信息,判断令牌信息是否过期。如果过期了,则在服务端重新生成令牌信息,同时在缓存和数据库中更新相应的令牌信息,认证过程结束。在完成相应数据接口请求后,将新的令牌信息一同发送给客户端;如果令牌信息没有过期,则认证成功正常完成数据接口的请求。本专利技术的基于令牌的HTTP无状态协议下信息系统数据接口认证方法具有以下优点:1、通过基于令牌的认证逻辑,避免了HTTP无状态协议下对数据接口多次访问时,针对账号密码等信息的频繁认证。一方面,认证信息只包含令牌信息,降低了访问过程中账号密码等身份信息的泄露的可能性,提高了系统的安全性。另一方面,除首次访问外,服务器对同一请求来源进行认证时,一般不需要进行数据库访问操作,降低了系统资源的占用。2、本专利技术的服务端生成的令牌信息使用多位字符组成,其中根据信息系统的设定,确定令牌信息的有效期后,令牌信息中10位字符为过期时间的时间戳。此外,令牌字符串同时还有连接状态、关联账号等属性信息。本专利技术具有设计合理、结构简单、使用方便等特点,因而具有很好的推广使用价值。附图说明图1为基于令牌认证方法示意图。图2为服务端身份认证流程图。具体实施方式参照说明书附图和具体实施例对本专利技术的基于令牌的HTTP无状态协议下信息系统数据接口认证方法作以下详细地说明。该方法的具体步骤如下:步骤1:HTTP无状态协议环境下客户端对服务端的数据接口进行初次访问,客户端通过发送包含账号密码等认证信息的HTTP请求(例如POST请求,在body中添加认证信息)访问系统数据接口。后续访问中,客户端发送包含令牌的HTTP请求(例如直接在URL中添加令牌信息)即可访问数据接口。步骤2:服务端接收客户端HTTP请求,针对认证信息,如果认证信息是令牌,则进行步骤3;如果认证信息是账号和密码,则将账号密码提取后与数据库中的信息进行匹配。如果匹配成功,服务端生成令牌信息并保存在数据库以及系统缓存(例如线程池变量)中。令牌信息为一段字符串,其中部分字符串包含令牌信息过期时间的时间戳,以验证令牌是否过期。服务端将令牌信息返回给客户端。如果匹配失败,则说明认证失败,信息系统拒绝此次HTTP请求。步骤3:服务端接收到令牌信息并提取。服务端在系统缓存中进行令牌信息的匹配,如果匹配成功则进行步骤4。如果匹配不成功,考虑到意外情况下系统缓存被清除导致令牌信息丢失的可能,服务端连接数据库,在数据库中进行令牌的匹配。如果在数据库中匹配成功,则将令牌信息保存到系统缓存中,并进行步骤4。如果在数据库和系统缓存中都未匹配成功,则该请求认证失败,信息系统拒绝此次HTTP请求。步骤4:服务端提取令牌信息中过期时间的时间戳,判断当前时间该令牌是否过期。如果未过期,进行步骤5;如果已过期,则在服务端重新生成令牌信息,并在系统缓存和数据库中进行令牌信息的更新和替换,之后进行步骤5。步骤5:认证成功,系统针对请求执行相应操作。完成操作后根据具体情况完成对HTTP请求的响应,如果之前进行了令牌信息的更新,则此时需要将新的令牌信息一同发送给客户端,通知客户端令牌信息已更改。本文档来自技高网...

【技术保护点】
1.基于令牌的HTTP无状态协议下信息系统数据接口认证方法,其特征在于:该方法包括如下步骤,步骤1)HTTP无状态协议环境下客户端对服务端的数据接口进行初次访问,客户端通过发送包含账号密码等认证信息的HTTP请求访问系统数据接口;步骤2)服务端接收客户端HTTP请求,针对认证信息,服务端通过访问数据库进行信息验证;如果认证成功,服务端生成令牌信息并保存在数据库以及系统缓存中;令牌信息为一段字符串,其中部分字符串包含令牌信息过期时间的时间戳,以验证令牌是否过期;服务端将令牌信息返回给客户端;步骤3)客户端接收到令牌信息并保存,当客户端再次访问系统的数据接口时,HTTP请求中只需包含令牌作为认证信息;步骤4)服务端再次接收客户端访问请求时,检查请求中包含的令牌信息与缓存中的存储令牌信息是否匹配;若令牌信息一致,则进行步骤5);若未在缓存中匹配到令牌信息,则服务端访问数据库查询令牌信息,如果匹配到相应信息,则将令牌信息保存在缓存中,并进行步骤5);如果在缓存和数据库中都未匹配到相应信息,则认证失败,服务端拒绝该次数据接口的访问请求;步骤5)提取令牌信息过期时间的时间戳信息,判断令牌信息是否过期;如果过期了,则在服务端重新生成令牌信息,同时在缓存和数据库中更新相应的令牌信息,认证过程结束;在完成相应数据接口请求后,将新的令牌信息一同发送给客户端;如果令牌信息没有过期,则认证成功正常完成数据接口的请求。...

【技术特征摘要】
1.基于令牌的HTTP无状态协议下信息系统数据接口认证方法,其特征在于:该方法包括如下步骤,步骤1)HTTP无状态协议环境下客户端对服务端的数据接口进行初次访问,客户端通过发送包含账号密码等认证信息的HTTP请求访问系统数据接口;步骤2)服务端接收客户端HTTP请求,针对认证信息,服务端通过访问数据库进行信息验证;如果认证成功,服务端生成令牌信息并保存在数据库以及系统缓存中;令牌信息为一段字符串,其中部分字符串包含令牌信息过期时间的时间戳,以验证令牌是否过期;服务端将令牌信息返回给客户端;步骤3)客户端接收到令牌信息并保存,当客户端再次访问系统的数据接口时,HTTP请求中只需包含令牌作为认证信息;步骤4)服务端再次接收客户端访问请求时,检查请求中包含的令牌信息与缓存中的存储令牌信息是否匹配;若令牌信息一致,则进行步骤5);若未在缓存中匹配到令牌信息,则服务端访问数据库查询令牌信息,如果匹配到相应信息,则将令牌信息保存在...

【专利技术属性】
技术研发人员:王建华田光烁刘志峰
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1