拼写表达式方法参数 属性 占位符

Spel expression method argument property placeholder

我正在尝试在 spel 表达式中访问 spring 应用程序 属性 的值,但对我来说这似乎是不可能的。我试图在 oauth2 范围之前放置一个前缀,因此当 PreAuthorize 发生时,完整的范围名称将是 prefix+"something" 以便将来可以动态更改它:

@PreAuthorize("#oauth2.hasScope(${prefixes.someprefix}+'/stock.r')")

spel 文档中的每个示例似乎都是 hello world 类型,而其他示例仅使用 属性 在 @Value 注释中访问。

@PreAuthorize 处理器不解析 属性 个占位符。

由于您正在调用 oauth2.hasScope,因此您可以在委托给实际方法之前创建一个应用前缀(来自 属性)的包装器。