permitAll в Spring boot не работает
писал я аутентификацию для мульти-модульного проекта с MongoDb, но почему-то когда я пытаюсь отправить какой-либо запрос на какой-либо контроллер то мне возвращает 401 код причём без тела запроса. Помогите как решить эту проблему.
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Bean
public PasswordEncoder passwordEncodeer() {
return new BCryptPasswordEncoder();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncodeer());
}
@Override
protected void configure(HttpSecurity http) throws Exception{
http.csrf().disable().cors().and()
.authorizeRequests()
.anyRequest().permitAll()
.and()
.addFilter(new JWTAuthorizationFilter(authenticationManager()))
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
}
}
Ответы (1 шт):
Автор решения: Anastasiya
→ Ссылка
Если вы хотите дать всем доступ, зачем jwttokenfilter?) либо удалите фильтр, либо назначьте эндпоинты к которым нужен определенный доступ. 401 значит unauthorized. Наверняка тогда ошибка в фильтре, смотрите чтобы не выбрасывало ошибку если токен отсутствует, или проверьте что в шапке у него префикс Bearer