猿问

使用 Spring Security 启用 h2 控制台

我想在启用了 Spring Security 的 Spring Boot 项目中使用 h2-console。我的配置如下所示,但我无法访问任何未经身份验证的路径。如果我打开控制台路径,登录提示符就会出现。


是不是顺序错了?


我已经用 WebSecurityConfigurerAdapter 以旧方式尝试过它并且它有效,但我想使用新的东西。


@EnableWebFluxSecurity

public class SecurityConfiguration {

    @Bean

    public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {


        return http

                .csrf().disable()

                .headers().frameOptions().disable().and()

                .authorizeExchange()

                .anyExchange().permitAll()

                .and()

                .httpBasic().and()

                .build();

    }

}


我将配置更改为以下内容,并且身份验证像我预期的那样排除了 h2 控制台:


@Configuration

public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override

    protected void configure(HttpSecurity http) throws Exception {

        http.headers().frameOptions().disable().and()

                .csrf().disable();

        http

                .authorizeRequests()

                .antMatchers("/", "/h2-console/**").permitAll()

                .anyRequest().authenticated()

                .and()

                .formLogin()

                .permitAll()

                .and()

                .logout()

                .permitAll();

    }

}


BIG阳
浏览 189回答 1
1回答

慕雪6442864

H2 控制台似乎只能在基于 servlet 的服务器上使用,而 webflux 使用的码头不是基于 servlet 的服务器。h2 无法访问
随时随地看视频慕课网APP

相关分类

Java
我要回答