С Spring Boot + Spring Security можно буквально за пару строк закрыть нужные маршруты. Допустим, у нас есть контроллер: @RestController public class MyController { @GetMapping("/admin") public String admin() { return "Admin panel"; } } Теперь хотим, чтобы /admin был доступен только аутентифицированным пользователям. Добавляем конфигурацию безопасности: @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/admin").authenticated() .anyRequest().permitAll() .and() .httpBasic(); } } Разберём, что происходит: • authorizeRequests() - начинаем описывать правила доступа • antMatchers("/admin").authenticated() - для /admin требуется аутентификация • anyRequest().permitAll() - остальные маршруты публичные • httpBasic() - включаем HTTP Basic Auth В итоге: • /admin защищён • всё остальное - открыто • минимум кода, максимум контр