В настоящее время я использую Spring Boot 2 Server с Spring Security, и мне нужно настроить каждый URL в Configuration, если он не должен ограничивать доступ. Но я думаю, что было бы намного проще, если бы все методы и конечные точки разрешали все запросы и ограничивали их, только если добавлена аннотация @RolesAllowed
выше. Так есть ли способ настроить Spring Security таким образом?
Моя текущая конфигурация для аутентификации:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors().and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
.exceptionHandling().authenticationEntryPoint(restAuthenticationEntryPoint).and()
.authorizeRequests()
.antMatchers(urls).permitAll()
.anyRequest().authenticated().and()
.addFilterBefore(tokenAuthenticationFilter(), BasicAuthenticationFilter.class);
http.csrf().disable();
}
Пример авторизации:
@GetMapping(value = "/all")
@RolesAllowed(value = Role.ADMIN)
public final ResponseEntity<?> getAll() {
...
}