基于缓存实现用户多系统之间跳转的方法技术方案

技术编号:36188708 阅读:43 留言:0更新日期:2022-12-31 20:58
本发明专利技术公开了一种基于缓存实现用户多系统之间跳转的方法,所述方法是通过Redis缓存中间件存储访问当前系统时生成的临时秘钥,当需要跳转至下一系统时,下一系统获取临时密钥来验证是否存在访问权限,实现在多系统间的快速访问。本发明专利技术基于Redis缓存用户临时授权所采用的是用户的账号和生成的临时秘钥,不会和用户原本的授权方式产生关联,多个系统都通过访问Redis缓存拿到用户信息,再判断用户的一致性,进而能够实现同一个用户在多个不同的软件系统中的快速访问,实现用户在多个独立系统间相互跳转。间相互跳转。间相互跳转。

【技术实现步骤摘要】
基于缓存实现用户多系统之间跳转的方法


[0001]本专利技术涉及授权访问方法
,更具体涉及一种基于缓存实现用户多系统之间跳转的方法,主要用于用户在多个独立系统间相互跳转。

技术介绍

[0002]随着互联网行业的快速发展,互联网应用产品变得越来越多。这些互联网应用产品往往不从属于同一家互联网产品开发商,每一款产品都需要维护一套专属的用户数据和登录方式,出现了同一用户需要在多个系统之间相互跳转访问的问题。而此时的各个系统又是相对独立的系统,唯一的共同点就是存在同一用户。即使存在同一用户的情况下,用户的授权密码也有可能不相同。用户在每次访问时,都需要从每个系统中进行用户授权认证才能访问。当用户需要通过系统中的url进行其他系统访问时,需要获取其他的系统的授权认证。这就导致了用户刚刚在某个系统进行认证后,又需要再次重新认证,用户体验差。
[0003]往常的解决方案中,一种认证方式是在系统中直接去其他系统获取当前用户的授权,如果是很多系统那就导致了要实现很多系统的授权方式,流程复杂,而且还需要一一对应关系。另一种认证方式是统一的用户认证中心系统进行认证,由于认证中心是新的系统,工作量大,流程复杂,周期长。

技术实现思路

[0004]本专利技术需要解决的技术问题是提供一种基于缓存实现用户多系统之间跳转的方法,以解决同一用户在多个系统之间相互跳转访问时需要每次都要进行授权认证,用户体验差,无法做到快速跳转访问的问题。
[0005]为解决上述技术问题,本专利技术所采取的技术方案如下。
[0006]基于缓存实现用户多系统之间跳转的方法,所述方法是通过Redis缓存中间件存储访问当前系统时生成的临时秘钥,当需要跳转至下一系统时,下一系统获取临时密钥来验证是否存在访问权限,实现在多系统间的快速访问。
[0007]进一步优化技术方案,具体包括以下步骤:
[0008]S1、搭建Redis服务端,并在各系统搭建Redis缓存中间件,Redis服务端与Redis缓存中间件之间通讯连接;
[0009]S2、在使用任一系统并获取授权后,生成临时秘钥和用户账号的密钥组合,并将密钥组合存入Redis缓存中间件;
[0010]S3、当需要从当前系统访问下一系统时,判别访问方式;
[0011]如果是正常登录下一系统的,进行正常的登录;
[0012]如果是从当前系统跳转至下一系统的,从Redis缓存中间件中取出临时秘钥并放入到跳转请求参数中,下一系统从跳转请求参数中获取临时秘钥,并根据获取到的临时秘钥从Redis缓存中间件中获取用户账号,进入步骤S4;
[0013]S4、查询步骤S3中获取到的用户账号是否存在;
[0014]若存在,跳转成功;
[0015]否则跳转失败。
[0016]进一步优化技术方案,所述步骤S3中,在下一系统从跳转请求参数中获取临时秘钥后,去Redis缓存中间件中验证该临时秘钥是否存在,若存在,再根据获取到的临时秘钥从Redis缓存中间件中获取用户账号。
[0017]进一步优化技术方案,所述步骤S4中,在跳转成功后,删除Redis缓存中间件中旧的临时秘钥,重新生成新的临时秘钥。
[0018]由于采用了以上技术方案,本专利技术所取得技术进步如下。
[0019]本专利技术基于Redis缓存用户临时授权所采用的是用户的账号和生成的临时秘钥,不会和用户原本的授权方式产生关联,多个系统都通过访问Redis缓存拿到用户信息,再判断用户的一致性,进而能够实现同一个用户在多个不同的软件系统中的快速访问,实现用户在多个独立系统间相互跳转。
[0020]本专利技术开发流程简单,系统层面改动较小,不会有用户认证策略和系统的一一对应关系,适用于同一用户的所有系统。
[0021]本专利技术不需要关注用户的秘钥,也不需要用户秘钥和系统一一对应。
[0022]本专利技术用户体验提高,不需要重复地去输入账号秘钥去一一授权。
附图说明
[0023]图1为本专利技术的整体流程图。
具体实施方式
[0024]下面将结合附图和具体实施例对本专利技术进行进一步详细说明。
[0025]基于缓存实现用户多系统之间跳转的方法,该方法是通过Redis缓存中间件存储访问当前系统时生成的临时秘钥,当用户需要通过url跳转到到其他系统时,其他系统获取临时密钥来验证当前用户是否存在访问权限,实现用户在多系统间的快速访问。
[0026]本专利技术具体包括以下步骤:
[0027]S1、搭建一个Redis服务端,并在各系统搭建Redis缓存中间件,Redis服务端与Redis缓存中间件之间通讯连接。每个系统分别添加redis服务连接,创建redis客户端(即Redis缓存中间件),在所有的系统中搭建了桥梁。
[0028]S2、当用户在使用任一系统时,用户登录当前系统使用原有的授权方式(可以采用账号密码的方式,也可采用其他的方式)获取授权后,生成临时秘钥和用户账号的密钥组合,并将密钥组合存入Redis缓存中间件,以K,V形式保存。
[0029]S3、当需要从当前系统访问下一系统(即其他系统)时,根据类型,区别用户当前的访问方式。
[0030]如果是正常登录下一系统的,按照原有的方式进行正常的登录。
[0031]如果是从当前系统跳转至下一系统的,则从Redis缓存中间件中取出临时秘钥并放入到跳转的url的请求参数中(首先临时秘钥生成后会保存在系统的内存中,然后采用redis客户端jedis里面的api去操作redis,判断秘钥是否存在可以使用jedis.exists(key)的方法),即url的请求参数中携带临时秘钥,下一系统从跳转请求参数中获取临时秘
钥,并根据获取到的临时秘钥从Redis缓存中间件中获取用户账号(从redis获取用户信息,已知临时秘钥就是key,利用redis客户端工具jedis其中jedis.get(“key2”)的方法),进入步骤S4。
[0032]步骤S3中,在下一系统从跳转请求参数中获取临时秘钥后,需要去Redis缓存中间件中验证该临时秘钥是否存在,若存在,再根据获取到的临时秘钥从Redis缓存中间件中获取用户账号(即用户名)。
[0033]S4、从系统的数据库中查询步骤S3中获取到的用户账号是否存在。
[0034]其中,系统的数据是能存储用户信息的数据库,如MySQL,Oracle,PostgresSQL,db2,SQLserver,mongo等。
[0035]若存在,说明是共同用户,跳转成功,即验证成功,允许访问。同时删除Redis缓存中间件中旧的临时秘钥,重新生成新的临时秘钥。
[0036]否则跳转失败。
[0037]本专利技术基于Redis缓存保存用户相同的信息,而多个系统都通过访问Redis缓存拿到用户信息,再判断用户的一致性,进而能够实现同一个用户在多个不同的软件系统中的快速访问,实现用户在多个独立系统间相互跳转。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于缓存实现用户多系统之间跳转的方法,其特征在于,所述方法是通过Redis缓存中间件存储访问当前系统时生成的临时秘钥,当需要跳转至下一系统时,下一系统获取临时密钥来验证是否存在访问权限,实现在多系统间的快速访问。2.根据权利要求1所述的基于缓存实现用户多系统之间跳转的方法,其特征在于,具体包括以下步骤:S1、搭建Redis服务端,并在各系统搭建Redis缓存中间件,Redis服务端与Redis缓存中间件之间通讯连接;S2、在使用任一系统并获取授权后,生成临时秘钥和用户账号的密钥组合,并将密钥组合存入Redis缓存中间件;S3、当需要从当前系统访问下一系统时,判别访问方式;如果是正常登录下一系统的,进行正常的登录;如果是从当前系统跳转至下一系统的,从Redi...

【专利技术属性】
技术研发人员:杨刚苏文辉温杰峰龚波苏学武水军何忠凡
申请(专利权)人:珠海市新德汇信息技术有限公司
类型:发明
国别省市:

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

1