【问题标题】:Spring session with back end api's instead of JDBC使用后端 api 而不是 JDBC 的 Spring 会话
【发布时间】:2016-07-08 10:43:21
【问题描述】:

我一直在探索我们应用程序中用于会话管理的 spring-session 框架,我们希望将会话存储在数据库中。我知道 spring 提供了 JDBC 的实现,我们可以配置自己的 DataSource。我面临的问题是我们无法直接访问 db,需要调用 Web 服务来执行任何类型的 crud 操作。

那么,有没有办法集成 spring-session 来使用 web 服务,以便在 db 中进行会话相关的 crud 操作?

另一个问题是,我们能否更改会话相关表的架构。我知道我们可以更改表名,但是否可以在给定表中添加或删除更多列?

【问题讨论】:

  • 当然只提供你自己的存储库,但如果你需要进行网络服务调用,不要期望它非常高效......

标签: spring-security spring-session


【解决方案1】:

您可以相当轻松地使用自定义会话存储库 - 使用 @EnableSpringHttpSession(导入 SpringHttpSessionConfiguration)来配置常见的 Spring Session 组件并注册您的 SessionRepository 实现 @Bean

关于JdbcOperationsSessionRepository 使用的模式的更高级自定义,在实施 JDBC 支持期间考虑了这一点,但最初决定不提供此功能。如果您需要此功能,请考虑在Spring Session issue tracker 中创建功能请求。

【讨论】:

  • 感谢您的回复@Vedran,我已经找到了 JdbcOperationsSessionRepository 并创建了一个小 poc。但是,Web 会话用例被搁置,我们可能正在使用其他一些框架,可能是 apache shiro 以及身份验证
  • 您还可以使用 Spring Security 来管理应用程序的身份验证和授权方面。 Spring Session 的重点是用户会话管理,两者可以很好地协同工作。在 Spring Session 项目本身中有一个 sample project 用于此类用例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-17
  • 2016-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-12
  • 2011-07-08
相关资源
最近更新 更多