我刚刚将我的grails应用程序从2.2.1升级到2.3.4,主要是成功并将spring spring安全插件从1.2.7.3升级到2.0-RC2。但是,我收到关于spring安全插件的错误(spring-security-core:2.0-RC2)。
Annotation @grails.plugin.springsecurity.annotation.Secured is not allowed on element FIELD
我认为它可能与仅限于能够注释方法而不是动作的新限制有关,但我注释的方法不是动作......所以......
这是带注释的控制器(尽管所有注释都会显示该消息):
@Secured(['IS_AUTHENTICATED_FULLY', 'ROLE_SHOW'])
def history = {
def instanceList = super.history(Perm.get(params.id))
[instanceList: impInstanceList]
}
答案 0 :(得分:11)
我相信您需要将其更改为
@Secured(['IS_AUTHENTICATED_FULLY', 'ROLE_SHOW'])
def history() {
def instanceList = super.history(Perm.get(params.id))
[instanceList: impInstanceList]
}
即。将其更改为闭包定义中的方法