写一个spring boot的后端登录代码
时间: 2023-11-27 12:04:56 浏览: 34
在 Spring Boot 中实现后端登录功能,可以使用 Spring Security 这个框架。
下面是一个示例代码,它实现了基本的后端登录功能:
```java
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(new BCryptPasswordEncoder());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/login").permitAll()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login")
.defaultSuccessUrl("/home")
.failureUrl("/login?error")
.and()
.logout().logoutSuccessUrl("/login?logout");
}
}
```
在这段代码中,我们配置了一个自定义的 `UserDetailsService` 来负责读取用户信息并验证用户名和密码。我们还配置了 `BCryptPasswordEncoder` 用于对用户密码进行加密。
然后,我们通过 `http.authorizeRequests()` 方法配置了哪些路径需要身份验证,哪些路径可以匿名访问。在这个例子中,我们允许所有用户访问登录页面("/login"),但是只有具有 "ADMIN" 角色的用户才能访问 "/admin" 开头的路径。
最后,我们使用 `formLogin()` 方法来配置表单登录功能。我们指定了登录页面的 URL("/login"),登录成功后跳转的页