2016 - 2024

感恩一路有你

redis怎么保存session Openresty怎么跟后端tomcat共用session?

浏览量:1073 时间:2023-05-07 09:09:53 作者:采采

Openresty怎么跟后端tomcat共用session?

OpenResty和Tomcat分工不同。像这种异构模式,如果要共享会话会话,使用传统的Cookie模式是非常昂贵的。

那么如何实现这种异构或者集群的分布式环境,或者不同域名之间的会话共享呢?要了解这个问题,首先要了解Session的工作原理。

会话存储在服务器端,存储一般是内存或文件的形式。服务器可以存储许多会话。如果我们需要在多个会话中操作一个特定用户的会话,我们必须知道这个会话的唯一标识。这个标识符是SessionID。不同的服务器/容器有不同的算法来生成SessionID。启用会话后,浏览器发送一个请求,SessionID被写入用户的Cookie ;的浏览器。来自浏览器的后续请求会将Cookie附加到请求头,并将其传递给服务器。服务器可以根据这个SessionID找到服务器对应的会话进行操作。

这样,只要我们能共享SessionID,会话就能被共享,所以我们可以采用以下方案:

1、会话入库存储

将会话保存在数据库中,这样OpenResty和Tomcat都可以操作数据库,轻松取出数据库中的会话。

2.会话存储在NoSQL。

这个方案类似于会话仓储,原理是一样的,只不过我们用的是NoSQL(比如R

Token流程是什么?怎么解决超时问题?

令牌的过程可以通过分析登录过程、退出过程和替换令牌的过程来讨论。

登录流程用户发送登录请求。

认证系统验证用户的登录查询数据库是否存在。

如果用户存在,就会生成一个令牌并存储在Redis中,然后返回给客户端。

如果用户不存在,会提示登录失败。

验证令牌客户端

将令牌密钥附加到标头。

计算机网络服务器

从标头中取出令牌密钥。

通过令牌密钥和Redis中的相关t确定匹配的信息。

退出请求过程的前端发送退出请求。

认证系统验证令牌信息-从Redis查询相关令牌信息。

如果令牌无效,则表明令牌的前端交换失败。

如果令牌有效,则删除令牌并提示前端成功退出。

下面讨论替换令牌的过程,作为令牌超时的解决方案。

让 让我们来谈谈后端处理流程:

前端请求替换令牌

认证系统验证相关的redis信息。

如果令牌无效,替换将会失败。

如果令牌有效,从redis中删除相关redis,返回前端新令牌。

替换令牌前端处理流程

前端获取令牌,并在登录成功后将其设置在cookie中。

请求服务接口时获取令牌,判断是否该交换令牌。

如果可以调用替换令牌接口,请重新生成令牌并将前端设置返回给cookie。

以上是令牌的请求流程和令牌超时的解决方法!!

希望能帮到你!!

会话 令牌 服务器 流程 用户

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。