spring 启动安全不允许我访问 h2-console

spring boot security doesn't let me access h2-console

我正在尝试在 Spring Boot 中实现 JWT。出于某些调试目的,我需要一个 H2 控制台。

所以在我的 WebSecurityConfiguration 中,我写道:

@Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        //httpSecurity.headers().frameOptions().disable();
        httpSecurity.authorizeRequests().antMatchers("/h2").permitAll();
        httpSecurity
                .csrf().disable()
                .authorizeRequests()
                .antMatchers("/auth/check/username").permitAll()
                .antMatchers("/auth/signup").permitAll()
                .antMatchers("/auth/login").permitAll()
                .anyRequest().authenticated().and()
                .exceptionHandling().and().sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS);
        httpSecurity.addFilterBefore(jwtRequestFilter, UsernamePasswordAuthenticationFilter.class);

    }

在我的应用程序属性中,我有这样的配置:

spring.h2.console.enabled=true
spring.h2.console.path=/h2

当我点击“:8080/h2”时,它给了我 403.

所以问题仍然存在,我如何才能正确配置 Spring Boot Web Security。

包括 /h2/** 后,我得到这个 UI :

请尝试使用“h2”模式:

httpSecurity.authorizeRequests().antMatchers("/h2/**").permitAll();

还有这个:

httpSecurity.headers().frameOptions().disable();

更多可以在这里找到: