Цепочка фильтров безопасности не разрешает запросов.JAVA

Программисты JAVA общаются здесь
Anonymous
Цепочка фильтров безопасности не разрешает запросов.

Сообщение Anonymous »

Я создаю ESHOP в качестве упражнения, и я хочу разрешить все запросы, которые не требуют авторизации, таких как список продуктов, регистрация клиента и т. Д. (Очевидно). < /p>
Это моя цепочка фильтров безопасности: < /p>

Код: Выделить всё

public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {

http
.csrf().disable()
.authorizeRequests()
.requestMatchers("/api/v1/auth/**").permitAll()
.requestMatchers(HttpMethod.GET, "/api/v1/products/**").permitAll()
.requestMatchers("/api/v1/user/**").permitAll() //i think the problem is either here
.anyRequest().authenticated()
.and()
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authenticationProvider(authenticationProvider)
.addFilterBefore(jwtAuthFilter, UsernamePasswordAuthenticationFilter.class);

/*http.formLogin();
http.httpBasic();*/

return http.build();
}
Я также попытался написать эти запросы matchers таким образом:

Код: Выделить всё

.requestMatchers(HttpMethod.POST, "/api/v1/user/**")
< /code>
или < /p>
.requestMatchers(HttpMethod.POST, "/api/v1/user/self-registration")
< /code>
или < /p>
.requestMatchers("/api/v1/user/self-registration")
< /code>
Но ничего не изменилось..requestMatchers(HttpMethod.GET , "/api/v1/products/**").permitAll()
Должен разрешить всем получить запрос любой конечной точки, которая начинается с/api/v1/products.
Если это так, я не могу добавить запрос, который может сделать только администратор.
. /> Spring Boot 3.0, < /li>
Spring Security Последние < /li>
< /ul>
---- Обновление --- < /strong>-< /p>
Это журналы безопасности: < /p>

Код: Выделить всё

2023-04-21T16:42:12.328+02:00 DEBUG 13148 --- [nio-8082-exec-1] o.s.security.web.FilterChainProxy        : Securing POST /api/v1/user/self-registration
2023-04-21T16:42:12.337+02:00 DEBUG 13148 --- [nio-8082-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter  : Set SecurityContextHolder to anonymous SecurityContext
2023-04-21T16:42:12.353+02:00 DEBUG 13148 --- [nio-8082-exec-1] o.s.s.w.a.i.FilterSecurityInterceptor    : Authorized filter invocation [POST /api/v1/user/self-registration] with attributes [permitAll]
2023-04-21T16:42:12.353+02:00 DEBUG 13148 --- [nio-8082-exec-1] o.s.security.web.FilterChainProxy        : Secured POST /api/v1/user/self-registration
2023-04-21T16:42:12.373+02:00 DEBUG 13148 --- [nio-8082-exec-1] o.s.security.web.FilterChainProxy        : Securing POST /error
2023-04-21T16:42:12.376+02:00 DEBUG 13148 --- [nio-8082-exec-1] o.s.s.w.a.AnonymousAuthenticationFilter  : Set SecurityContextHolder to anonymous SecurityContext
2023-04-21T16:42:12.376+02:00 DEBUG 13148 --- [nio-8082-exec-1] o.s.s.w.a.i.FilterSecurityInterceptor    : Failed to authorize filter invocation [POST /error] with attributes [authenticated]
2023-04-21T16:42:12.376+02:00 DEBUG 13148 --- [nio-8082-exec-1] o.s.s.w.a.Http403ForbiddenEntryPoint     : Pre-authenticated entry point called. Rejecting access
< /code>
Это заголовки запроса.
Я также попытался добавить заголовок «Авторизация» пустым и с «носителем», но без какого -либо токена после этого. Это была не проблема 
 
 ----- Решанный Строки к тем же..requestMatchers("/api/v1/auth/**","/api/v1/user/selfregistration")
.permitAll()
Тогда я получил ошибку 404, не найденный , мне пришлось изменить свой контроллер, и теперь он работает нормально
ty

Подробнее здесь: https://stackoverflow.com/questions/760 ... tsmatchers

Вернуться в «JAVA»