Grails 2.4过滤器似乎不起作用

时间:2016-02-04 18:43:39

标签: grails

我有一个Grails 2.4.4应用程序。在其中我有以下控制器:

myapp/
    grails-app/
        controllers/
            fizzbuzz/
                FizzController.groovy
                BuzzController.groovy
                ... many others, etc.

我想为其中一些创建Grails Filters,所以我创建了一个grails-app/conf/WidgetFilters.groovy类:

class WidgetFilters {
    def filters = {
        fizzFilter(controller: 'fizz*', action: '*') {
            before = {
                println 'I intercepted a called to the Fizz Controller!'  
            }
        }  
        buzzFilter(controller: 'buzz*', action: '*') {
            before = {
                println 'I intercepted a called to the Buzz Controller!'  
            }
        }
    }
}

当我启动我的应用程序并进行任何Fizz / Buzz操作时,我看不到println。我还尝试了其他日志语句(SLF4J)并将其他代码放在before闭包内,并且100%确信它们没有执行。我做过一些明显错误的事吗?

2 个答案:

答案 0 :(得分:2)

您是否尝试重新启动app + clean build?

我已经复制粘贴过滤器和模拟控制器并且它们正在运行,here是一个代码。

请查看此properties

  • apf.continueChainBefore SuccessfulAuthentication之前 - 是否继续调用过滤器链中的后续过滤器
  • fii.observeOncePerRequest - 如果false允许检查多次发生,例如正在使用JSP转发并且需要对HTTP请求的每个包含片段进行过滤器安全性

答案 1 :(得分:1)

将班级移至.spinner