【问题标题】:Spring MVC 2.5 - remember me with custom pre authentication filterSpring MVC 2.5 - 使用自定义预身份验证过滤器记住我
【发布时间】:2011-12-08 03:10:22
【问题描述】:

我正在开发一个使用 Spring Security 2.0.4 的旧版应用程序。我创建了一个自定义 AbstractPreAuthenticatedProcessingFilter 和 PreAuthenticatedAuthenticationProvider。他们根据来自客户登录服务器的请求中作为参数发送的电子邮件地址创建和验证用户。 (我知道不是很安全,但这就是要求)

这一切都很好,但我的问题是,一旦用户通过身份验证,我需要创建一个自定义 cookie,这样他们就可以在当前会话之外访问应用程序,而不必被登录服务器重定向。

我无法访问 AbstractPreAuthenticatedProcessingFilter 或 PreAuthenticatedAuthenticationProvider 中的 HttpServletRepsonse 对象,因此我不能只在响应中设置 cookie。我可以在 AbstractPreAuthenticatedProcessingFilter 类中实现 RememberMeServices,但我不确定这是否是正确的方法。

谁能指出我正确的方向?我是否需要创建自定义记住我功能?一旦用户通过身份验证,我要做的就是设置一个 cookie(如果尚不存在)。然后对于未来的请求,我可以验证 AbstractPreAuthenticatedProcessingFilter 中的 cookie 并返回经过身份验证的主体。

【问题讨论】:

    标签: spring-mvc spring-security remember-me pre-authentication


    【解决方案1】:

    在没有创建任何新过滤器或搞乱记住我的情况下进行了修复(这实际上与预身份验证没有太大关系)

    我只是重写了:AbstractPreAuthenticatedProcessingFilter#successfulAuthentication 这让我可以访问 HttpServletRepsonse,它只会在成功的身份验证时触发。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-29
      • 2023-03-05
      • 1970-01-01
      • 2020-02-14
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 2015-02-14
      相关资源
      最近更新 更多