Я пытался перемещать вещи всеми возможными способами, но .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");
}