添加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,我们需要在主类上添加`@EnableWebSecurity`注解。这将告诉Spring启用基于Web的安全性。

```java
@SpringBootApplication
@EnableWebSecurity
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```

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

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