我知道我可以通过在我的控制器上指定类似的内容来配置安全注释:
@Secured('ROLE_ADMINISTRATORS')
class HomeController {
... methods and things
}
现在,我将如何从YML配置文件中注入属性?说我当前的YML文件如下:
security:
roles:
admins: ROLE_ADMINISTRATORS
viewers: ROLE_VIEWERS
managers: ROLE_MANAGERS
如果我将@Secured注释更改为此
@Secured('${security.roles.admins}')
应用程序抱怨此错误:
EL1041E:(pos 1): After parsing a valid expression, there is still more data in the expression: 'lcurly({)'
然后我尝试使用@PreAuthorize注释this post shows how it can be used,如下所示:
@PreAuthorize('${security.roles.admins}')
但我得到一个错误说明:
Attribute 'value' should have type 'java.lang.String'; but found type 'java.lang.Object' in @org.springframework.security.access.prepost.PreAuthorize
是否可以将属性注入其中一个注释中,以便我可以将它与Grails 3和Spring Security LDAP plugin一起使用?