【问题标题】:Grails Upgrade from 2.2.1 to 2.3.4 @Secured AnnotationGrails 从 2.2.1 升级到 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]
        }

【问题讨论】:

    标签: grails groovy spring-security


    【解决方案1】:

    我认为您需要将其更改为

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

    即将其从闭包定义中更改为方法

    【讨论】:

    • Grails 2.0 允许将旧式闭包作为操作,但我没有添加对带注释的闭包的支持,因为考虑到方法与闭包的优势,它会做更多的工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 2012-03-18
    • 2015-12-10
    • 2019-05-28
    • 2011-02-19
    • 1970-01-01
    相关资源
    最近更新 更多