Spring Security 记住我

2025 年 3 月 18 日 | 3 分钟阅读

Remember me(记住我)是一个允许用户在不重新登录的情况下访问应用程序的功能。用户关闭浏览器后,登录会话结束,如果用户再次通过打开浏览器访问应用程序,它会提示登录。

但是,我们可以通过使用 remember me 功能来避免这种重新登录。它将用户的身份存储到 Cookie 或数据库中,并用于识别用户。

我们正在以下示例中实现此功能。让我们看一个例子。

创建一个 Maven 项目

首先创建一个 Maven 项目并提供项目详细信息。


Spring Security Remember Me

最初,项目看起来像这样


Spring Security Remember Me 2

Spring Security 配置

配置项目以实现 spring security。它需要以下四个 Java 文件。首先创建一个包 com.javatpoint 并将所有文件放入其中。

// AppConfig.java

// MvcWebApplicationInitializer.java

// SecurityWebApplicationInitializer.java

// WebSecurityConfig.java

在这个类中,我们创建用户并进行身份验证。 configure() 方法中的 rememberMe() 方法负责记住和存储用户身份。

控制器

com.javatpoint.controller 包中创建一个控制器 HomeController。查看控制器代码。

// HomeController.java

视图 (View)

创建视图(JSP 页面)以向浏览器生成输出。

// index.jsp

// admin.jsp

// login.jsp

这是我们的自定义登录页面,我们在其中添加了 remember me 复选框。查看代码。

项目依赖项

以下是我们的 pom.xml 文件,其中包含所有必需的依赖项。

// pom.xml

项目结构

添加所有文件后,项目结构如下所示


Spring Security Remember Me 3

运行服务器

输出


Spring Security Remember Me 4

单击 Admin 登录链接并登录。


Spring Security Remember Me 5

请注意,我们已单击“记住我”复选框


Spring Security Remember Me 6

复制 URL:https://:8080/springrememberme/admin,然后完全关闭浏览器。一秒钟后,打开浏览器并粘贴复制的 URL。

请注意,它不会要求登录,并将我们带到同一页面。因为我们在登录期间选中了记住我按钮。