我使用 Spring Security 保护了我的其余 Web 服务。我正在通过各种处理程序返回适当的响应(401 表示失败,200 表示成功等)。客户端不想将凭据存储在设备上,因此我无法通过在每个请求的标头中传递凭据来进行真正的 restful per-request 身份验证。因此,我正在尝试使用 Remember-me 设置持久令牌方法。
我已经设置好 db 表并且能够登录。登录在我的数据库的 persistent_logins 表中创建一行,其中包含系列和令牌值。
我的问题是双重的:
- 我需要在我的 successHandler 类中添加什么来向用户返回 200 响应以返回令牌(我是否也需要系列值?)?
- 通过 curl 进行测试时,如何在标头中设置此标记?
这是我的 successHandler 类:
public class RestAuthenticationSuccessHandler extends SimpleUrlAuthenticationSuccessHandler{
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws ServletException, IOException {
response.setStatus(HttpServletResponse.SC_OK);
clearAuthenticationAttributes(request);
}
}
提前感谢您的任何帮助!