✅ Чтобы защитить следующий REST-эндпоинт:
@RestController
public class MyController {
@GetMapping
("/admin")
public String 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.👉 Java Portal