Estoy intentando acceder a una referencia de frijol en una anotación de @PreAuthorize de la siguiente manera:primavera Lenguaje Expresión y Spring Security 3: el acceso a la referencia de frijol en @PreAuthorize
@PreAuthorize("@testBean.getTestValue()")
public String testSpEL() {
....
}
Tengo un grano de prueba configurado de la siguiente manera:
@Component(value="testBean")
public class TestBean {
public boolean getTestValue() {
return true;
}
}
Cuando intento acceder al método testSpEL() Sin embargo, me enfrento con la siguiente excepción:
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1057E:(pos 1): No bean resolver registered in the context to resolve access to bean 'testBean'
at org.springframework.expression.spel.ast.BeanReference.getValueInternal(BeanReference.java:45)
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:52)
at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102)
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:97)
at org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:11)
He realizado exhaustivamente mi investigación pero no puedo encontrar en ninguna parte lo que necesito cambiar en mi configuración para que esto funcione. ¿Alguna sugerencia?
Gracias!
Saludos cordiales, Jonck
P.S. Estoy usando Spring 3.0.5. El siguiente parece indicar que este tipo de funcionalidad debería funcionar:
https://jira.springsource.org/browse/SPR-7173
nunca he visto algo como: '@ testBean.getTestValue()' en @PreAuthorize. ¿Puede adjuntar un comentario con una URL a un ejemplo o documentación de esta función? – Ralph
vistazo aquí: http://static.springsource.org/spring/docs/3.0.x/reference/expressions.html en 6.5.12 frijol hace referencia a En los documentos de seguridad Primavera Dice que permite SpEL, por lo tanto, algo como esto debería ser posible. –
¿Alguna vez ha probado las mismas expresiones en una anotación @Value – Ralph