【发布时间】:2013-11-14 12:03:08
【问题描述】:
配置 Spring Security Java 以提供数据库存储会话实现所需的最少步骤是什么。基本上我想将 Session ID 与 Cookies 和基于 JDBC 的会话实现一起使用。似乎我必须实现一个自定义会话注册表,但不能确定我需要额外的实现来提供基于数据库的会话实现。
(我正在使用 Spring Security RC2)
【问题讨论】:
-
这与 Spring Security 有什么关系?这取决于您的 servlet 容器,而不是 Spring Security。 Spring Security 中的
SessionRegistry与分布式会话具有完全不同的含义和用例。 -
我认为 Spring Security 将负责会话管理和安全性。我的理解似乎有一个根本性的错误。我错了吗?
-
正确... Spring 不管理作为 Servlet 容器任务的会话(因为它是规范的一部分),通常可以找到如何更改它的持续方式在文档中。 Spring 中的
SessionRegistry用于支持并发会话管理,与存储状态无关。 -
感谢您的澄清。你不觉得这是一种增强吗?因为所有框架都不依赖于 Servlet 规范,例如独立应用程序。
-
额外提供的 SecurityContextRepository 实现被安排为 Spring Security 4 的一部分。见jira.springsource.org/browse/SEC-2346