java - SecurityFilterChain Bean 不保护应用程序

标签 java spring security javabeans

我正在将 Spring Security 配置从 WebSecurityConfigurerAdapter(已弃用)迁移到使用 bean 的配置。

我的配置类现在看起来像

@EnableWebSecurity
public class Config {

    @Bean
    protected SecurityFilterChain configure(HttpSecurity http) throws Exception {
        return http.build();
    }

}

我知道此配置不会进行任何行为设置,但它不应该返回一个像默认 SecurityFilterChain 一样的 SecurityFilterChain bean (就好像没有指定配置一样)?当我启动我的应用程序时,没有 Controller 受到保护。

最佳答案

要为端点添加安全规则和表单,只需添加 .authorizeRequests() block :

@Configuration
public class Config {
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/unprotected", "/endpoints/**").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin();
        return http.build();
    }
}

另请阅读Spring Security without the WebSecurityConfigurerAdapter

关于java - SecurityFilterChain Bean 不保护应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73261956/

相关文章:

java - 如何通过个人设置安装 MySQL 或 MsSQL

java - 在 Eclipse 插件开发中从 SWT UI 搜索类

java - 无法在 CriteriaBuilder 构造方法中调用数据库函数

java - http路径的处理方法不明确?

java - 获取用于记录的 ServletResponse 内容字符串

c - 将证书插入钥匙串(keychain)

security - Solidity重入攻击解释

java - 我应该使用哪种 Java 集合类型?

java - 带有同步关键字的 Spring @Transactional 不起作用

PHP session 劫持及其方法