Spring Boot安全性不允许我访问h2-console

时间:2020-07-22 00:54:44

标签: spring spring-boot spring-security h2

我正在尝试在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: enter image description here

1 个答案:

答案 0 :(得分:1)

请尝试使用“ h2”模式:

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

这也是:

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

更多内容可以在这里找到:How to disable 'X-Frame-Options' response header in Spring Security?