#spring #spring-security
#весна #весна-безопасность
Вопрос:
Мой запрос на публикацию отфильтрован после аутентификации JWT (и даже если я отключу его следующим кодом). Не уверен, что я делаю что-то не так. ЗАПРОС URI: локальный хост:8016/api/v1/ВИЛЛА ИТАЛИЯ/параметр таблицы: имя
введите описание изображения здесь
protected void configure(HttpSecurity http) throws Exception { http.httpBasic().disable().formLogin().disable() .csrf().ignoringAntMatchers(API_URL_PREFIX, H2_URL_PREFIX) .and() .headers().frameOptions().sameOrigin() // for H2 Console .and() .cors() .and() .authorizeRequests() .antMatchers(HttpMethod.GET, RESTAURANT_URL).permitAll() .antMatchers(HttpMethod.POST, RESTAURANT_URL).permitAll() .antMatchers(HttpMethod.POST, TOKEN_URL).permitAll() .antMatchers(HttpMethod.DELETE, TOKEN_URL).permitAll() .antMatchers(HttpMethod.POST, SIGNUP_URL).permitAll() .antMatchers(HttpMethod.POST, REFRESH_URL).permitAll() .antMatchers(HttpMethod.GET, SERVICES_URL).permitAll() .antMatchers(HttpMethod.POST, SERVICES_URL).permitAll() .antMatchers(HttpMethod.GET, BOOKINGS_URL).permitAll() .antMatchers(HttpMethod.POST, BOOKINGS_URL).permitAll() .antMatchers(HttpMethod.GET, CUSTOMERS_URL).permitAll() .antMatchers(HttpMethod.POST, CUSTOMERS_URL).permitAll() .antMatchers(HttpMethod.POST, TABLES_URL).permitAll() // .mvcMatchers(HttpMethod.POST, "/api/v1/restaurants**") // .hasAuthority(RoleEnum.ADMIN.getAuthority()) .anyRequest().authenticated() .and() //.addFilterBefore(new JwtAuthenticationFilter(new JwtManager(), (UserService) userService), UsernamePasswordAuthenticationFilter.class) // .oauth2ResourceServer(oauth2ResourceServer -gt; oauth2ResourceServer.jwt( // jwt -gt; jwt.jwtAuthenticationConverter(getJwtAuthenticationConverter()))) .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS); } ```
Комментарии:
1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.
Ответ №1:
Нет ничего, что соответствовало бы предложению antMatchers, которое соответствовало бы URL-адресу «/api/v1/ВИЛЛА ИТАЛИЯ/таблица».
Попробуйте сделать это, используя следующее предложение:
.antMatchers(HttpMethod.GET, "/api/v1/**/table").permitAll()
Комментарии:
1. Я изменил uri /api/v1/рестораны/{restName}/таблица и .antMatchers(HttpMethod. СООБЩЕНИЕ «»/api/v1/рестораны»).PermitAll (), но это не сработает
2. Вы использовали подстановочный знак? /api/v1/*/ресторан p.e.