Para mí no está claro cuál es la diferencia en la seguridad de primavera entre:
 @PreAuthorize("hasRole('ROLE_USER')")
 public void create(Contact contact)
Y
@Secured("ROLE_USER")
public void create(Contact contact)
Entiendo que PreAuthorize puede funcionar con spring el pero, en mi muestra, ¿hay alguna diferencia real?
                    
                        spring-security
                                
                    
                    
                        Jerome VDL
fuente
                
                
            fuente

Si quisieras hacer algo como acceder al método solo si el usuario tiene Role1 y Role2, entonces deberías usar @PreAuthorize
Utilizando
fuente
Simplemente,
@PreAuthorizees más nuevo que@Secured.Entonces, digo que es mejor usarlo
@PreAuthorizeya que está "basado en expresiones" y puede usar expresiones como hasRole, hasAnyRole, permitAll, etc.Para aprender sobre expresiones, vea estos ejemplos de expresiones .
fuente
@PreAuthorizees diferente, es más poderoso que@Secured.así que no puedes expresar la condición AND usando
fuente
"hasRole('ADMIN OR hasRole('USER')"?fuente