2014-01-11 61 views
4

我刚刚将我的grails应用程序从2.2.1升级到2.3.4,主要成功并升级了1.2.7.3到2.0-RC2的spring安全插件。但是,我收到了关于spring安全性插件(spring-security-core:2.0-RC2)的错误。Grails从2.2.1升级到2.3.4 @Secured注解

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] 
     } 

回答

10

我相信你需要改变,要

@Secured(['IS_AUTHENTICATED_FULLY', 'ROLE_SHOW']) 
    def history() { 
     def instanceList = super.history(Perm.get(params.id)) 
     [instanceList: impInstanceList] 
    } 

I.e.将其更改为封闭定义中的方法

+7

Grails 2.0允许旧样式的闭包作为动作,但我没有添加对带注释的闭包的支持,因为考虑到方法与闭包的好处,它会比所需的工作更多。 –

相关问题