如何使用 cookie,它是在 springboot 中使用 spring security 的 rememberMe(



我正在学习 Spring 引导并创建一个简单的基于 Web 的项目,其中我使用 Spring 安全性的"记住我"功能创建了一个 cookie,但不知道如何使用该 cookie 来提取会话信息。

例如,在页面上显示此内容 - "hello {user}",用户从页面传递到页面。{user} 值应与其他信息一起来自 cookie。

我们可以这样走吗?如果是,如何从cookie中提取用户信息,或者是否有其他方法可以实现特定功能?

我试图对此进行搜索,但找不到具体的解决方案。

这是代码的一部分。

.rememberMe()
        .alwaysRemember(true)
        .tokenValiditySeconds(30)
        .rememberMeCookieName("saurabh")
        .key("somesecret");
所有这些都

已经在RememberMeAuthenticationFilter内为您处理

好了

该筛选器入,并执行以下操作

  1. 检查是否有任何可用信息
Authentication rememberMeAuth = 
    rememberMeServices.autoLogin(request, response);
  1. 如果有信息,则使身份验证管理器有机会拒绝它或正确验证用户
rememberMeAuth = authenticationManager.authenticate(rememberMeAuth);
  1. 将信息存储在安全上下文中(您现在已通过身份验证)
 SecurityContextHolder.getContext().setAuthentication(rememberMeAuth);
  1. 调用无操作方法
 onSuccessfulAuthentication(request, response, rememberMeAuth);
  1. 触发事件
 eventPublisher.publishEvent(new InteractiveAuthenticationSuccessEvent(...));
  1. 最后,如果已配置,则触发成功处理程序
 successHandler.onAuthenticationSuccess(request, response,
                            rememberMeAuth);

如果要截获此事件链,请在AuthenticationManager中执行此操作。第 2 步,Spring 会将信息传递给您。

最新更新