Spring Boot 登录页面
最后修改于 2023 年 7 月 31 日
在本文中,我们将展示如何使用默认登录页面。Spring Security 默认保护所有 HTTP 端点。用户必须在默认的 HTTP 表单中登录。
要启用 Spring Boot 安全性,我们将 spring-boot-starter-security 添加到依赖项中。
Spring Boot 登录页面示例
以下示例展示了如何在 Spring Boot 应用程序中设置一个简单的登录页面。
build.gradle
...
src
├───main
│ ├───java
│ │ └───com
│ │ └───zetcode
│ │ │ Application.java
│ │ └───controller
│ │ MyController.java
│ └───resources
│ application.properties
└───test
└───java
这是 Spring Boot 应用程序的项目结构。
build.gradle
plugins {
id 'org.springframework.boot' version '3.1.1'
id 'io.spring.dependency-management' version '1.1.0'
id 'java'
}
group = 'com.zetcode'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-security'
}
这是 Gradle 构建文件。我们有用于 web 和 security 的 starter。
resources/application.properties
spring.main.banner-mode=off
logging.pattern.console=%d{dd-MM-yyyy HH:mm:ss} %magenta([%thread]) %highlight(%-5level) %logger.%M - %msg%n
在 application.properties 文件中,我们关闭 Spring Boot 横幅并配置控制台日志记录模式。
com/zetcode/controller/MyController.java
package com.zetcode.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/")
public String home() {
return "This is home page";
}
}
我们有一个简单的首页。
我们运行应用程序并导航到 localhost:8080。 我们被重定向到 https://:8080/login 页面。
... Using generated security password: df7ce50b-abae-43a1-abe1-0e17fd81a454 ...
在控制台中,我们可以看到为名为 user 的默认用户生成的密码。这些凭据被提供给身份验证表单。
Spring 使用 Bootstrap 来定义用户界面。
spring.security.user.name = admin spring.security.user.password = s$cret
通过这两个选项,我们可以拥有新的用户名和密码。使用这些设置可以关闭自动生成的用户。
在本文中,我们使用了一个默认的登录表单。