Grails过滤器:无法使其正常工作!

时间:2010-08-31 18:44:52

标签: security grails filter

我正在尝试为我的网络应用编写一个过滤器。我阅读[文档] [1],并在我的grails-app/conf目录

中编写了这个虚拟过滤器
class SecurityFilters {
   def filters = {
       someFilter(controller:'*',action:'*') {

              write('Filtering')

       }
   }
}

我接下来要做的就是在write语句中设置一个断点,但它并不止于此。

我是否需要“注册”此过滤器或其他任何内容?春天可能在招架吗?

来自this question,它看起来不像。

也许我做错了什么,或忽略了什么?

更新

class SecurityFilters {
   def filters = {

       all(controller:'*',action:'*') {
        before={
              println 'Filtering'
              return false
        }
       }
   }
}

提前致谢。

[1]:http://www.grails.org/doc/1.3.x/guide/single.html#6.6过滤器

1 个答案:

答案 0 :(得分:2)

两个问题。一个是没有“写入”方法 - 将其更改为“println”并且它应该有效。但是过滤器由before,after和afterView子闭包的某种组合组成,所以你真正想要的是

class SecurityFilters {
   def filters = {
      someFilter(controller:'*',action:'*') {
         before = {
            println 'Filtering'
         }
      }
   }
}

但如果您真的在创建安全过滤器,请不要。这样做太容易了。 Spring Security CoreShiro插件具有丰富的功能,易于配置和使用。