在Spring Boot中实现登录认证,你可以使用Spring Security。以下是一个简单的例子:
- 添加Spring Security依赖到你的
pom.xml
文件中:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
- 配置
WebSecurityConfigurerAdapter
来定义登录规则:
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
}
- 创建一个Controller来处理登录请求:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class LoginController {
@GetMapping("/login")
public String login() {
return "login";
}
// 其他请求处理...
}
- 创建一个
login.html
表单用于登录:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head>
<title>Login Page</title>
</head>
<body>
<h2>Login</h2>
<form th:action="@{/login}" method="post">
<div><label> Username : <input type="text" name="username"/> </label></div>
<div><label> Password: <input type="password" name="password"/> </label></div>
<div><input type="submit" value="Login"/></div>
</form>
</body>
</html>
确保你的项目中有一个application.properties
或application.yml
文件,并且配置了服务器端口(如果需要的话)。
运行你的Spring Boot应用,并访问http://localhost:8080
,你将被重定向到登录页面,输入用户名和密码后可以登录。
这个例子是一个非常基础的实现,实际项目中你可能需要使用数据库来存储用户凭证,并可能需要自定义登录逻辑。