Grails 从 2.2.1 升级到 2.3.4 @Secured Annotation
Posted
技术标签:
【中文标题】Grails 从 2.2.1 升级到 2.3.4 @Secured Annotation【英文标题】:Grails Upgrade from 2.2.1 to 2.3.4 @Secured Annotation 【发布时间】:2014-01-30 20:05:40 【问题描述】:我刚刚将我的 grails 应用程序从 2.2.1 升级到 2.3.4 并取得了很大的成功,并将 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]
【问题讨论】:
【参考方案1】:我认为您需要将其更改为
@Secured(['IS_AUTHENTICATED_FULLY', 'ROLE_SHOW'])
def history()
def instanceList = super.history(Perm.get(params.id))
[instanceList: impInstanceList]
即将其从闭包定义中更改为方法
【讨论】:
Grails 2.0 允许将旧式闭包作为操作,但我没有添加对带注释的闭包的支持,因为考虑到方法与闭包的优势,它会做更多的工作。以上是关于Grails 从 2.2.1 升级到 2.3.4 @Secured Annotation的主要内容,如果未能解决你的问题,请参考以下文章
将 Grails 应用程序从 1.3.7 升级到 Java 8 兼容版本
从 2.1 升级到 2.2.4 后 Grails 自动编译中断