Spring 开机会话管理-PostgreSQL + Redis 组合方案

Spring Boot session management - combined solution PostgreSQL + Redis

所以,我想在我的应用程序中实现复杂的会话管理。本质上,我想在 postgre 和 Redis 中存储用户会话。

所以,算法应该如下:

  1. 向应用发送请求,应用解析传入的请求cookie并提取会话参数;

  2. Spring 服务器尝试通过 ID 从 Redis

    检索相应的会话对象
  1. 如果 Redis 中不存在会话对象,则服务器会尝试从 postgre 中拉取成员会话。执行相同的验证并缓存响应。如果会话无效或不存在于 RDBMS 中 - 转到未经授权的路径。

有没有什么优雅的方法可以使用现有的包来实现以下机制?还是这需要自定义逻辑?

所以,我看了这个视频 - https://www.youtube.com/watch?v=TggWLDAXmb4

并且我能够大致了解 Spring 中基本安全机制的工作原理并实施上述工作流程;

基本上,您需要:

  1. 将准备特定的自定义安全过滤器Authentication
  2. 将执行身份验证(检查会话)的自定义身份验证提供程序