当前位置:网站首页>单点登录-认证服务器与客户端的session过期时间如何统一
单点登录-认证服务器与客户端的session过期时间如何统一
2022-07-23 05:02:00 【秃了也弱了。】
写在前面
之前画了一个单点登录的逻辑图,其中有很多细节没有展现清楚。
终于把单点登录完整流程图画明白了!史上最完整的CAS单点登录完整图解!
今天就来讨论一下,认证服务器登录完成之后,如何与客户端保持session过期时间的统一?
引出问题
我们从流程图中可以看出,当用户完成了首次登录认证之后,会在认证服务器存放一份session,同样也会在客户端服务器存放一份session,以后再访问APP,不会再经过认证服务器来认证该用户是否登录,而是直接在APP的后台来认证即可。
那么问题来了,认证服务器有一份session,客户端服务器也有一份session,这两者如何同步?
假如说每次请求都同步一次的话,服务器压力也太大了,有没有更好的办法?
有!
解决问题
客户端服务器在认证的时候,存一份认证服务器的session过期时间,因为用户每次访问客户端页面,客户端服务器的session都会刷新过期时间。
每次客户端服务器校验session的时候,判断认证服务器的session是否过期,如果将要过期或者已经过期,就调用接口来刷新认证服务器的session过期时间,同时同步到客户端服务器中。
这样,就可以保证两者之间session过期时间的同步了,并且也没有很频繁的交互。

前后端分离项目
现在的项目大多数都是前后端分离项目了,可能cookie-session这一套已经不适用了,但是基本原理还是一样的。
无非session换成了token,原理大差不差,但是也有很多细节。
具体遇到再说吧~
边栏推荐
- Ultra Fast Deep Lane Detection with Hybrid Anchor Driven Ordinal Classification论文解读
- TS类型体操 之 中级类型体操挑战收官之战
- Response对象
- Global event bus
- 构建人工智能产品/业务的两种策略(by Andrew Ng)
- PXE远程安装和Kickstart无人值守安装 技术文档
- Error in na.fail.default(list(Purchase = c(“CH“, “CH“, “CH“, “MM“, “CH“, : missing values in obj
- Script of Nacos current limiting query
- Visual studio 2022 interesting and powerful intelligent auxiliary coding
- C语言详解系列——函数的认识(1)库函数,自定义函数
猜你喜欢

跳转语句与调试程序

记一次 .NET 某智能交通后台服务 CPU爆高分析

FPGA——SPI总线控制flash(2)(含代码)
![[Delphi] a simple method to make the installation icon of the control panel (translation)](/img/e9/2a9c509e4ebbd4ff0a32be547e1cbb.png)
[Delphi] a simple method to make the installation icon of the control panel (translation)

Anaconda虚拟环境下安装opencv报错的问题

C语言n番战--链表(九)

美团8年经验之谈,测试工程师如何进阶(自动化、性能、测开)
TS类型体操 之 中级类型体操挑战收官之战

又更新了, IDEA 2022.2 正式发布

Flutter 运行flutter pub get 报错“客户端没有所需特权“
随机推荐
编译构建工具-bazel
组件中的自定义事件
Redis源码与设计剖析 -- 7.快速列表
[unity daily bug] unity reports an unexpected character '‘
牛客刷题篇——剑指offer (第二期)
Analysis of network security level protection 2.0 standard
SVG、canvas、绘制线段和填充多边形、矩形、曲线的绘制和填充
mysql log理解
Jmeter-记一次自动化造数引发的BeanShell写入excel实例
Chapter 3 Standard Input
C语言详解系列——函数的认识(1)库函数,自定义函数
Error in na.fail.default(list(Purchase = c(“CH“, “CH“, “CH“, “MM“, “CH“, : missing values in obj
Response对象
C# 客户端程序调用外部程序的3种实现方法
Compile build tool -bazel
mysql的索引的操作
Niuke brush questions - Sword finger offer (phase II)
Reading the thesis "sentence embeddings using Siamese Bert networks"
MapReduce advanced
【无标题】