【发布时间】:2014-01-04 16:20:38
【问题描述】:
我正在构建一个基于 Spring 的 Web 应用程序,它需要身份验证。
在后端,我有一个服务器集群,它们的配置方式与运行此 Web 应用程序的方式相同。
以下是要求:
访问者通过 Spring Security 向网站进行身份验证
身份验证后,Web 应用程序(希望在 Spring Security 的帮助下)在用户的浏览器中设置一个 cookie。此 cookie 具有加密信息,Spring Security 可以识别并允许用户持续与 Web 应用程序交互,而无需进一步验证。
cookie 可以包含指示不活动时间长度的信息,这会使 cookie 无效。这可能意味着 Web 应用程序必须不断更新有关上次访问时间的 cookie。
用户的访问,经过身份验证后,可以被定向到任何服务器,而无需进一步的身份验证。不会有跨服务器的会话信息复制。
我发现了一些相关的 SO 帖子,如下所示:
Spring security stateless configuration
create-session stateless usage
How can I use Spring Security without sessions?
他们谈论无状态或无会话,一些帖子/cmets 对我来说似乎不是很清楚或矛盾(我可能是错的)。我试图从需求方面而不是技术术语提出问题。
那么问题来了:Spring Security(3.1.4 或更高版本)能否配置为满足上述要求?
如果提供任何 HOWTO 指针,那就太好了。
【问题讨论】:
-
可以,但您需要编写一个自定义身份验证提供程序来解释 cookie,并为相关 url 配置它。
标签: authentication web-applications spring-security