【问题标题】:Grails filters: can't make it work !Grails 过滤器:无法正常工作!
【发布时间】:2011-04-06 10:39:43
【问题描述】:

我正在尝试为我的网络应用程序编写一个过滤器。我阅读了[文档][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 过滤器

【问题讨论】:

    标签: security grails filter


    【解决方案1】:

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

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

    但如果您真的要创建安全过滤器,请不要这样做。错误地执行此操作太容易了。 Spring Security CoreShiro 插件功能丰富,易于配置和使用。

    【讨论】:

    • 仍然什么都没有用户属于该组织,然后授予访问权限”
    • 我同意 Burt,您应该使用现有的插件之一,可以自定义它们以使用您自己的数据结构
    • @Aaron 我所看到的只有角色和用户,但没有别的:(
    • 好的,我搞定了。原来类名是SecurityFilters,但文件名是SecurityFilter。重构文件,瞧!谢谢。
    • @Tom 您可以自定义在身份验证过程中评估哪些用户详细信息,看看这个grails.org/AcegiSecurity+Plugin+-+Custom+UserDetailsService
    猜你喜欢
    • 2013-09-15
    • 2015-02-14
    • 2013-08-16
    • 2012-11-16
    • 1970-01-01
    相关资源
    最近更新 更多