java - taglibs - spring security tags
¿Se permiten múltiples roles en la anotación @Secured con Spring Security? (2)
Me gustaría permitir el acceso a un método particular a más de un grupo de usuarios. ¿Es posible en Spring Security 3.x hacer tal cosa usando la anotación @Secured? Considere dos grupos (roles) OPERADOR y USUARIO, este código sería válido:
@Secured("ROLE_OPERATOR", "ROLE_USER")
public void doWork() {
// do useful processing
}
La respuesta de @Donal Fellows es correcta para las aplicaciones Spring. Sin embargo, si estás trabajando en Grails, necesitas usar la sintaxis de Groovy para las listas para que el código se vea así.
@Secured(["ROLE_OPERATOR", "ROLE_USER"])
public void doWork() { ... }
Ya casi estás ahí. Sintácticamente, necesitas escribirlo así:
@Secured({"ROLE_OPERATOR", "ROLE_USER"})
public void doWork() { ... }
Esto se debe a que está suministrando múltiples valores a un solo atributo de matriz de la anotación. (Los casos especiales sintácticamente de Java se entregan en un solo valor, pero ahora debe hacerlo "correctamente".)