Springboot框架实现登录功能
时间: 2024-04-04 20:10:10 浏览: 15
要实现登录功能,可以使用 Spring Security 框架来完成。下面是一个简单的 Spring Security 实现登录的示例代码:
1. 首先,在 pom.xml 中添加 Spring Security 的依赖:
```
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring.security.version}</version>
</dependency>
```
2. 在 Spring Boot 的启动类上添加 @EnableWebSecurity 注解,开启 Spring Security 功能:
```
@EnableWebSecurity
public class MyApplication {
// ...
}
```
3. 创建一个继承自 WebSecurityConfigurerAdapter 的配置类,并重写 configure 方法,添加登录页面和登录成功后的跳转:
```
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/home")
.permitAll()
.and()
.logout()
.permitAll();
}
}
```
4. 创建一个登录页面(比如 login.html):
```
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<h1>Login</h1>
<form action="/login" method="post">
<div>
<label for="username">Username:</label>
<input type="text" id="username" name="username" />
</div>
<div>
<label for="password">Password:</label>
<input type="password" id="password" name="password" />
</div>
<button type="submit">Login</button>
</form>
</body>
</html>
```
5. 在控制器中添加登录页面的请求处理方法:
```
@Controller
public class LoginController {
@GetMapping("/login")
public String login() {
return "login";
}
}
```
6. 最后,在 application.properties 文件中添加一个默认用户和密码,以便测试登录功能:
```
spring.security.user.name=admin
spring.security.user.password=password
```
这样就完成了一个简单的 Spring Security 实现登录的示例。