对其他 Spring Boot 应用程序的集中会话管理

Posted

技术标签:

【中文标题】对其他 Spring Boot 应用程序的集中会话管理【英文标题】:Centralize session management to other Springboot applications 【发布时间】:2017-01-27 16:36:55 【问题描述】:

我有一些使用 Spring Boot、Spring Security、Spring Sessions 和 Spring Redis 的应用程序。

我的一个应用程序(我将其称为“权限”)负责为我的所有其他应用程序提供登录服务。这已经很好了。

现在,我想使用权限来管理我所有其他应用程序的会话(如创建、删除、获取和保存会话)。权限将在 Redis 中保留这些会话。

Permissions 本身是一个使用自己来管理登录和会话的应用程序,并且一切正常(Redis 上的登录和会话持久性)。

要管理会话,我需要在权限中提供一项服务并在其他应用程序中使用此服务,但我不知道我必须在两个应用程序中覆盖什么过滤器或会话实现以使此功能正常工作。

任何人都有一个想法来集中会话管理并将新规则(如无效或在所有其他系统的唯一点创建新会话)应用到所有其他系统?

【问题讨论】:

【参考方案1】:

一种选择是将“权限”应用放在其他应用前面,让所有流量通过。

【讨论】:

以上是关于对其他 Spring Boot 应用程序的集中会话管理的主要内容,如果未能解决你的问题,请参考以下文章

用于 Spring Security 和/或 Spring BlazeDS 集成的集中式会话管理(和终止)系统

了解 Keycloak Adapter(Spring-Security 和 Spring Boot)会话要求

Spring Boot Java Config 设置会话超时

Apache背后的Spring Boot应用程序中的会话超时

Spring Boot 如何处理 Hibernate 会话?

如何阻止 Spring Boot 添加会话 cookie?