Grails 从 2.2.1 升级到 2.3.4 @Secured 注解

标签 grails groovy spring-security

我刚刚将我的 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

我认为这可能与只能注释方法而不是 Action 的新限制有关,但我注释的是方法而不是 Action ......所以......

这是带注释的 Controller (尽管所有注释都会显示该消息):
    @Secured(['IS_AUTHENTICATED_FULLY', 'ROLE_SHOW'])
        def history = {
            def instanceList = super.history(Perm.get(params.id))
            [instanceList: impInstanceList]
        }

最佳答案

我相信你需要把它改成

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

IE。将其从闭包定义更改为方法

关于Grails 从 2.2.1 升级到 2.3.4 @Secured 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21068222/

相关文章:

Grails 日志记录 - 是否有任何现有的解决方案能够记录实际发生调用的文件 + 行?

grails - grails调用休眠更新

grails - 将图像上传到 Grails 中的文件系统

shell - Groovy:如何在 groovy 中执行复杂的 shell 命令?

java - Java 类的 Groovy Spock 测试 - 如何模拟 Clob

java - 如何在没有任何端口的情况下直接使用 url 访问我的 Spring Boot Web 应用程序?

grails - Grails modalbox插件,带有来自grails-ui的可拖动列表(拖动时的元素可见性)

java - 在groovy文件之间传递变量

java - Spring Security如何允许匿名访问大多数站点限制某些操作

java - 使用 Spring Security 的访问被拒绝页面不起作用