【发布时间】:2026-01-05 00:00:01
【问题描述】:
我正在使用 Spring Boot 创建一个 Web API,我想在其中使用 Spring Security 进行身份验证及其 Remember-Me 功能。 注意,我创建的是 Web API 而不是 REST API,这意味着我不会使用基于 JWT 的身份验证,而是使用 Cookies 和 Sessions。
默认情况下,Spring Security 提供了一个我没有使用的登录和注销页面,而是创建了一个端点,我在其中使用 AuthenticationManager 对用户进行身份验证,但我无法使用 Spring Security 的 Remember-Me 功能。似乎只有在使用他们自己的登录表单时才会激活“记住我”。
我只想知道我是否可以像在我的 Web API 中一样使用 Spring Security,只需稍作修改(自己登录和注销用户),其他一切都由 Spring 处理。如果没有,是否有任何其他解决方法,还是我必须自己重新创建“记住我”功能?
【问题讨论】:
-
如果这是一个 Web API,而不是 REST API,你如何在没有登录表单和关联
login处理程序的情况下向用户询问凭据? -
使用端点,我创建了一个控制器 [POST],它通过请求正文获取用户凭据。
-
这类似于内置的
/loginPOST 处理程序,它从表单POST 正文中获取用户和密码并执行登录操作,包括。设置记住我。因此,如果您需要弄清楚记住我是如何完成的,请查看内置 POST 处理程序的源代码。
标签: java spring spring-boot spring-mvc spring-security