使用spring boot写一个登录接口
时间: 2023-01-11 15:55:36 浏览: 81
在使用 Spring Boot 编写登录接口时,需要确保你已经导入了 Spring Security 依赖,如下所示:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
```
然后,可以在应用程序的配置类中(例如,使用 `@Configuration` 注解的类)添加如下代码来启用基本身份验证:
```
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.httpBasic();
}
}
```
此时,应用程序就具有了一个可供登录的登录页面。你还可以在 `configure()` 方法中指定登录页面的 URL,例如:
```
http.formLogin().loginPage("/login");
```
你还可以使用 `formLogin().permitAll()` 方法来允许所有用户访问登录页面。
在登录表单中提交用户名和密码后,Spring Security 会自动验证凭据并登录用户。你可以使用 `UserDetailsService` 和 `PasswordEncoder` 接口来实现自定义的身份验证逻辑。
```
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder);
}
```
登录成功后,用户将被重定向到原始请求的页面。如果想要自定义登录成功后的重定向逻辑,可以