Spring Security, Annotation zur Methodensicherheit (@Secured) funktioniert nicht (Java-Konfiguration)

Ich versuche, mit @Secured ("ADMIN") eine Annotation für die Methodensicherheit einzurichten (ohne XML, nur Java-Konfiguration, Spring Boot). Der Zugriff über Rollen funktioniert jedoch nicht.

Security Config:

@Configuration
@EnableWebSecurity
public class AppSecurityConfiguration extends WebSecurityConfigurerAdapter{

.....

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/api/**").fullyAuthenticated().and()
                .addFilterBefore(tokenAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
    }

.....

}

Ich möchte den Zugriff auf die Methode des Controllers einschränken:

@RestController
@RequestMapping("/api/groups")
public class GroupController {

    @Autowired
    private GroupService groupService;

    @Secured("ADMIN")
    @RequestMapping
    public List<Group> list() {
        return groupService.findAll();
    }

}

Der eingeschränkte Zugriff über die URL funktioniert mit:

.antMatchers("/api/**").hasAuthority("ADMIN")

Vielleicht habe ich vergessen anzugeben, dass ich nach Rollen einschränken möchte?

UPD: Nach den Regeln, auf welcher Ebene muss @ se@PreAuthorize("hasRole('ADMIN')") in der Controller-Schicht oder in der Service-Schicht?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage