Spring Security 基于表单的身份验证

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

基于表单的身份验证是一种通过登录表单完成用户身份验证的方式。此表单由 spring security 框架内置并提供。

HttpSecurity 类提供了一个 formLogin() 方法,该方法负责呈现登录表单并验证用户凭据。

在本教程中,我们将创建一个实现基于表单的身份验证的示例。让我们开始这个例子。

创建一个 Maven 项目

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


Spring Security Form-Based Authentication

该项目最初看起来像这样


Spring Security Form-Based Authentication 2

Spring Security 配置

使用以下 Java 文件在应用程序中配置 spring security。创建一个包 com.javatpoint 并将所有文件放入其中。

// AppConfig.java

// MvcWebApplicationInitializer.java

// SecurityWebApplicationInitializer.java

// WebSecuiryConfig.java

控制器

创建一个控制器 HomeController 并将其放入 com.javatpoint.controller 包中。它包含以下代码。

// HomeController.java

视图

此项目包含以下两个视图(JSP 页面)。将它们放入 WEB-INF/views 文件夹中。

// index.jsp

// admin.jsp

项目依赖项

// pom.xml

项目结构

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


Spring Security Form-Based Authentication 3

运行服务器

在服务器上运行应用程序,并在浏览器中查看它生成以下输出。

输出


Spring Security Form-Based Authentication 4

单击链接,将呈现一个登录表单,该表单将用于基于表单的身份验证。


Spring Security Form-Based Authentication 5

验证凭据后,它会验证用户并将用户呈现到管理页面。


Spring Security Form-Based Authentication 6