@PreAuthorize es diferente, es más poderoso que @Secured.
Las antiguas anotaciones seguras no permitían el uso de expresiones. A partir de Spring Security 3, se prefieren las anotaciones más flexibles @PreAuthorize y @PostAuthorize (así como @PreFilter y @PostFilter), ya que admiten Spring Expression Language (SpEL) y proporcionan control de acceso basado en expresiones.
El @Secured ("ROLE_ADMIN") anotación es la misma que @PreAuthorize ("hasRole ('ROLE_ADMIN')") El @Secured ({ "ROLE_USER", "ROLE_ADMIN") se considera como ROLE_USER O ROLE_ADMIN. por lo que no puede expresar la condición Y usando @Secured. Puede definir lo mismo con @PreAuthorize ("hasRole ('ADMIN O hasRole (' USER ')"), que es más fácil de comprender . Puede expresar Y, O, o NO (!) También.
@PreAuthorize ("!isAnonymous() AND hasRole ('ADMIN') ")
OK, entonces en mi ejemplo no hay diferencia, gracias! –
No sabía de esto, pero parece increíble!: D –