Spring WebSecurity PermitAll не работает для указанного c URL - PullRequest
0 голосов
/ 26 марта 2020

Я пытался перемещать вещи всеми возможными способами, но .antMatchers ("/ mpi /astic / search"). AllowAll () всегда запрашивает аутентификацию. Я хотел бы, чтобы этот URI был доступен всем пользователям без необходимости аутентификации.

  protected void configure(HttpSecurity http) throws Exception {

        http.httpBasic().disable().csrf().disable().sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS).and().authorizeRequests()
                .antMatchers("/api/auth/test1").permitAll()
                // following is  important  as it's required  for html  files in  /static   and  /public
                //  Also not  that  index.html in  /static   gets the preference
                .antMatchers("/*").permitAll()
                .antMatchers("/kjs/**").permitAll() // everything under kjs  and  also  in  subdirs
                .antMatchers("/ainfo/**").permitAll()
                .antMatchers("/aerror/**").permitAll()
                // see StaticResourceLocation   -  must  use  ** will match  /*/*/*
                //.antMatchers("/**/favicon.ico").permitAll()     // means  anywhere  you  get  favicon
                //.antMatchers("/images/**").permitAll()
                .antMatchers("/api/products/all").hasAuthority(AppRoles.ADMIN )
                .antMatchers("/mpi/elastic/search").permitAll()
                .anyRequest().authenticated().and().csrf().disable().exceptionHandling().authenticationEntryPoint(unauthorizedEntryPoint()).and()
                .apply(new JwtConfigurer(jwtTokenProvider));

    }

    @Bean
    public PasswordEncoder bCryptPasswordEncoder() {
        return new BCryptPasswordEncoder();
    }

    @Bean
    @Override
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }

    @Bean
    public AuthenticationEntryPoint unauthorizedEntryPoint() {
        return (request, response, authException) -> response.sendError(HttpServletResponse.SC_UNAUTHORIZED,
                "Unauthorized");
    }

1 Ответ

0 голосов
/ 27 марта 2020

У меня было правило в nginx docker конфиге для указанного c пути. Мне нужно добавить другое правило для пути, который я хочу игнорировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...