1 个稳定版本
1.0.0 | 2024年6月28日 |
---|
#1472 in 网络编程
在 2 crates 中使用
71KB
1.5K SLoC
dce-session
是一个通用的会话管理器(不仅限于 dce
,可以集成到任何项目中),包括基本的会话管理、用户会话管理、连接会话管理、自生成会话管理,以及上述所有会话管理器在Redis版本中的实现。
基本会话管理特质
基本的会话管理特质主要包括一些基本的会话存储接口,如 get
、set
、del
等。其中一些以 silent_
前缀开头的接口表示该接口有静默和非静默版本,其中非静默版本会自动 touch
(更新会话过期时间)。还有一些以 cloned_
开头的接口,用于在会话生成时处理一些旧会话。
用户会话管理特质
用户会话管理特质封装了基本的用户会话管理接口,如 user
、login
、logout
等。
用户会话流程图
连接会话管理特质
连接会话管理特质用于处理长连接的会话管理。
自生成会话管理器
自生成会话管理器用于在会话未过期的情况下,在一段时间后自动为会话生成一个新的ID,以增强会话安全性。
自生成流程图
缩写说明
- TTG: 生成时间,sid生成的时间
- SFR: 应生成-Sid的超时持续时间
- OJS: 旧会话延迟销毁持续时间
- CIJS: 判断何时销毁新会话的不活动持续时间
Redis会话
RedisSession
是 dce-session
中内置的会话管理实现,实现了上述的“基本”、“用户”和“连接”会话功能,可以通过控制功能开关选择启用哪些功能。
依赖关系
~1–11MB
~125K SLoC