每当我使用以下方法时,都可以从角度调用服务

   @Override
    protected void configure(HttpSecurity http) throws Exception{
        http.csrf().disable().authorizeRequests().antMatchers("/").permitAll();
    }


但是当我如下更改配置方法时,出现了401错误。

@Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity.csrf().disable()
                // dont authenticate this particular request
                .authorizeRequests().antMatchers("/authenticate", "/register","/basicauth").permitAll().
                // all other requests need to be authenticated
                        anyRequest().authenticated().and().
                // make sure we use stateless session; session won't be used to
                // store user's state.
                        exceptionHandling().authenticationEntryPoint(jwtAuthenticationEntryPoint).and().sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS);

        // Add a filter to validate the tokens with every request
        httpSecurity.addFilterBefore(jwtRequestFilter, UsernamePasswordAuthenticationFilter.class);
    }


如何克服这个问题。

我的错误如下

java - http url的Http失败响应:401未经授权-LMLPHP

最佳答案

您需要在antMatchers()中指定整个端点。据我所知,您要访问的URL是.../api/v1/basicauth =>将/ basicauth字符串更改为/ api / v1 / basicauth。

09-05 20:35