如何从yaml文件中读取预授权表达式

时间:2017-03-03 11:19:18

标签: spring spring-boot spring-security spring-el

如何从属性文件中读取@Preauthorize表达式?

我在yaml文件中有表达式:

authorize:
     exp: hasAnyAuthority('ROLE_XXX')
@PreAuthorize("${authorize.exp}")
public void blah(){
    //something
}

上面的实现抛出了SpelParseException。

下面是stacktrace:

Caused by: org.springframework.expression.spel.SpelParseException: EL1041E:(pos 1): After parsing a valid expression, there is still more data in the expression: 'lcurly({)'
    at org.springframework.expression.spel.standard.InternalSpelExpressionParser.doParseExpression(InternalSpelExpressionParser.java:129)

我尝试@PreAuthorize("#{authorize.exp}"),但同样例外。 我不想从属性文件中读取布尔值,我想要读取表达式。

0 个答案:

没有答案