#会话管理 #会话 #DCE #API

dce-session

一个具有用户绑定和可续期的会话库

1 个稳定版本

1.0.0 2024年6月28日

#1472 in 网络编程


2 crates 中使用

MIT 许可证

71KB
1.5K SLoC

dce-session 是一个通用的会话管理器(不仅限于 dce,可以集成到任何项目中),包括基本的会话管理、用户会话管理、连接会话管理、自生成会话管理,以及上述所有会话管理器在Redis版本中的实现。

基本会话管理特质

基本的会话管理特质主要包括一些基本的会话存储接口,如 getsetdel 等。其中一些以 silent_ 前缀开头的接口表示该接口有静默和非静默版本,其中非静默版本会自动 touch(更新会话过期时间)。还有一些以 cloned_ 开头的接口,用于在会话生成时处理一些旧会话。

用户会话管理特质

用户会话管理特质封装了基本的用户会话管理接口,如 userloginlogout 等。

用户会话流程图

User session

连接会话管理特质

连接会话管理特质用于处理长连接的会话管理。

自生成会话管理器

自生成会话管理器用于在会话未过期的情况下,在一段时间后自动为会话生成一个新的ID,以增强会话安全性。

自生成流程图

Auto renew session

缩写说明

  • TTG: 生成时间,sid生成的时间
  • SFR: 应生成-Sid的超时持续时间
  • OJS: 旧会话延迟销毁持续时间
  • CIJS: 判断何时销毁新会话的不活动持续时间

Redis会话

RedisSessiondce-session 中内置的会话管理实现,实现了上述的“基本”、“用户”和“连接”会话功能,可以通过控制功能开关选择启用哪些功能。

有关完整的用法示例,请参阅 src 目录中以 session_ 开头的文件。有关更全面的文档,请点击这里

依赖关系

~1–11MB
~125K SLoC