我正在将我的Spring Security配置从WebSecurityConfigurerAdapter(已弃用)映射到使用Bean的配置.

我的配置类现在看起来像

@EnableWebSecurity
public class Config {

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

}

我知道这个配置没有进行任何行为设置,但是它不应该返回一个类似于默认SecurityFilterChain的SecurityFilterChain Bean(就像没有指定任何配置一样)吗?当我启动我的应用程序时,没有控制器是安全的.

推荐答案

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

@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相关问答推荐

尽管类型擦除,instanceof与泛型在Java中如何工作?

了解Android Studio中的调试器输出

连接Quarkus中的两个异步操作

如何确定springboot在将json字段转换为Dto时如何处理它?

由于我在Main方法中关闭了 scanner ,但在该方法中创建了一个新的 scanner ,因此出现了错误

解释左移在Java中的工作原理

将响应转换为带值的键

用OSQL创建索引

匹配一组字符或另一组字符

错误:未找到扩展元素在JBossEAP 7.2中安装FUSE时出错

有谁能帮我修一下这个吗?使输出变得更加整洁

一对多关系和ID生成

如何在SWT菜单项文本中保留@字符

活泼的一次判断成语,结果中等

如何设置默认序列生成器分配大小

当我try 返回可选时,Mock无法正常工作

为什么我得到默认方法的值而不是被覆盖的方法的值?

Springboot应用程序无法识别任何@RestController或@Service,我认为@Repository也无法识别

如何转换Vector<;对象>;转换为int?

将非滚动组件添加到 JScrollPane