添加 Spring Security 支持是为了在我们的应用程序中实现身份验证和授权机制。Spring Security 是一个用于保护 Spring 应用程序的框架,其提供了良好的安全性和可扩展性。要添加 Spring Security 支持,我们需要按照以下步骤进行操作。

### 1. 引入 Spring Security 依赖项
首先,我们需要在项目的构建文件中引入 Spring Security 的依赖项。如果使用 Maven 进行构建,可以在 pom.xml 文件中添加以下依赖项:

`xml

org.springframework.boot spring-boot-starter-security

`

### 2. 配置 Spring Security
接下来,我们需要创建一个配置类来配置 Spring Security。可以创建一个类,并使用 Configuration 注解进行标注。在配置类中,我们可以定义身份验证管理器、用户详细信息服务和密码编码器等。以下是一个简单的示例:

`java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
// 配置用户详细信息服务和密码编码器
auth.userDetailsService(userDetailsService()).passwordEncoder(passwordEncoder());
}

@Override
protected void configure(HttpSecurity http) throws Exception {
// 配置请求的权限和登录页面
http.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/user/**").hasAnyRole("ADMIN", "USER")
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login").permitAll();
}

@Bean
public UserDetailsService userDetailsService() {
// 配置用户详细信息服务
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
manager.createUser(User.withUsername("admin").password(passwordEncoder().encode("admin123")).roles("ADMIN").build());
manager.createUser(User.withUsername("user").password(passwordEncoder().encode("user123")).roles("USER").build());
return manager;
}

@Bean
public PasswordEncoder passwordEncoder() {
// 配置密码编码器
return new BCryptPasswordEncoder();
}
}
`

### 3. 启用 Spring Security
要在应用程序中启用 Spring Security,我们需要在主类上添加 EnabWebSecurity 注解。这将告诉 Spring 启用基于 Web 的安全性。

javaSprgBtApplicationEnabWebSecuritypublicpplication{publicstaticvoa(Strg[]args){SprgApplication.run(Application.args);}}

当应用程序启动时,Spring Security 将自动加载并应用配置。

以上就是添加 Spring Security 支持的基本步骤。通过引入依赖项、配置 Spring Security 和启用它,我们可以轻松地为我们的应用程序提供身份验证和授权功能。