Spring 开机会话管理-PostgreSQL + Redis 组合方案
Spring Boot session management - combined solution PostgreSQL + Redis
所以,我想在我的应用程序中实现复杂的会话管理。本质上,我想在 postgre 和 Redis 中存储用户会话。
所以,算法应该如下:
向应用发送请求,应用解析传入的请求cookie并提取会话参数;
Spring 服务器尝试通过 ID 从 Redis
检索相应的会话对象
- 如果上一步成功,则服务器验证会话,如果会话有效且有效,则让请求通过。否则 - 未经授权的路径。
- 如果 Redis 中不存在会话对象,则服务器会尝试从 postgre 中拉取成员会话。执行相同的验证并缓存响应。如果会话无效或不存在于 RDBMS 中 - 转到未经授权的路径。
有没有什么优雅的方法可以使用现有的包来实现以下机制?还是这需要自定义逻辑?
所以,我看了这个视频 - https://www.youtube.com/watch?v=TggWLDAXmb4
并且我能够大致了解 Spring 中基本安全机制的工作原理并实施上述工作流程;
基本上,您需要:
- 将准备特定的自定义安全过滤器
Authentication
;
- 将执行身份验证(检查会话)的自定义身份验证提供程序
所以,我想在我的应用程序中实现复杂的会话管理。本质上,我想在 postgre 和 Redis 中存储用户会话。
所以,算法应该如下:
向应用发送请求,应用解析传入的请求cookie并提取会话参数;
Spring 服务器尝试通过 ID 从 Redis
检索相应的会话对象
- 如果上一步成功,则服务器验证会话,如果会话有效且有效,则让请求通过。否则 - 未经授权的路径。
- 如果 Redis 中不存在会话对象,则服务器会尝试从 postgre 中拉取成员会话。执行相同的验证并缓存响应。如果会话无效或不存在于 RDBMS 中 - 转到未经授权的路径。
有没有什么优雅的方法可以使用现有的包来实现以下机制?还是这需要自定义逻辑?
所以,我看了这个视频 - https://www.youtube.com/watch?v=TggWLDAXmb4
并且我能够大致了解 Spring 中基本安全机制的工作原理并实施上述工作流程;
基本上,您需要:
- 将准备特定的自定义安全过滤器
Authentication
; - 将执行身份验证(检查会话)的自定义身份验证提供程序