由于篇幅所限,以下仅展示如何使用Spring Security配置用户角色和权限的核心代码。
// SecurityConfig.java
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
�123</s>
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home", "/login").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
在这个配置类中,我们使用了@EnableWebSecurity
注解启用Spring Security。重写了configure(AuthenticationManagerBuilder auth)
方法来配置用户详情服务和密码编码器,以及configure(HttpSecurity http)
方法来配置请求的授权和登录页面。此外,我们还定义了一个passwordEncoder
的Bean,用于加密用户密码。
这个例子展示了如何在Spring Boot项目中集成Spring Security来增加用户认证和授权的功能。在实际应用中,你需要根据具体的业务逻辑来配置用户角色和权限。