我正在开发一个使用 Spring Security 2.0.4 的遗留应用程序。我创建了一个自定义 AbstractPreAuthenticatedProcessingFilter 和 PreAuthenticatedAuthenticationProvider。他们根据来自客户登录服务器的请求中作为参数发送的电子邮件地址来创建和验证用户。(我知道不是很安全,但这就是要求)
这一切都很好,但我的问题是,一旦用户通过身份验证,我需要创建一个自定义 cookie,这样他们就可以在当前会话之外访问应用程序,而不必被登录服务器重定向。
我无法访问 AbstractPreAuthenticatedProcessingFilter 或 PreAuthenticatedAuthenticationProvider 中的 HttpServletRepsonse 对象,因此我不能只在响应中设置 cookie。我可以将 RememberMeServices 实现到 AbstractPreAuthenticatedProcessingFilter 类中,但我不确定这是否是正确的方法。
谁能指出我正确的方向?我是否需要创建自定义记住我功能?一旦用户通过身份验证,我要做的就是设置一个 cookie(如果不存在的话)。然后对于未来的请求,我可以验证 AbstractPreAuthenticatedProcessingFilter 中的 cookie 并返回经过身份验证的主体。