java spring jwt
Сделал регистрацию и авторизацию с JWT. Но при обращении к любому маппингу получаю ошибку: Cache miss for REQUEST dispatch to '/' (previous null). Performing MatchableHandlerMapping lookup. This is logged once only at WARN level, and every time at TRACE.
Конфигурация spring security:
@Configuration
@EnableWebSecurity
@EnableMethodSecurity
@NoArgsConstructor
public class SecurityConfiguration {
private UserService userService;
private TokenFilter tokenFilter;
@Autowired
public void setUserService(UserService userService) {
this.userService = userService;
}
@Autowired
public void setTokenFilter(TokenFilter tokenFilter) {
this.tokenFilter = tokenFilter;
}
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
@Bean
public AuthenticationManager authenticationManager(AuthenticationConfiguration authenticationConfiguration) throws Exception {
return authenticationConfiguration.getAuthenticationManager();
}
@Bean
@Primary
public AuthenticationManagerBuilder configureAuthenticationManagerBuilder(
AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception {
authenticationManagerBuilder.userDetailsService(userService).passwordEncoder(passwordEncoder());
return authenticationManagerBuilder;
}
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{
http
.csrf(AbstractHttpConfigurer::disable)
.cors(httpSecurityCorsConfigurer ->
httpSecurityCorsConfigurer.configurationSource(request ->
new CorsConfiguration().applyPermitDefaultValues()))
.exceptionHandling(exceptions -> exceptions
.authenticationEntryPoint(new HttpStatusEntryPoint(HttpStatus.UNAUTHORIZED)))
.sessionManagement(session -> session
.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.authorizeHttpRequests(authorize -> authorize
.requestMatchers("/secured/**").fullyAuthenticated()
.requestMatchers("/auth/**").permitAll()
.anyRequest().permitAll()
)
.addFilterBefore(tokenFilter, UsernamePasswordAuthenticationFilter.class);
return http.build();
}
}
Ответы (1 шт):
Автор решения: Алексей Градсков
→ Ссылка
Я новичок и относительно недавно начал изучать Spring, но смею предположить что ошибка в том что Вы сначала защищаете свои маппинги /secured/** и даете к ним доступ только полностью авторизованным юзерам, но в следующей строке Вы указываете что к любому из ваших маппингов доступ открыт всем.