将SpringSecurityService注入Grails中的筛选器时为Null

将SpringSecurityService注入Grails中的筛选器时为Null,grails,Grails,我正在尝试在筛选器中使用SpringSecurityService来获取当前登录的用户。问题是我得到了null,无法得到当前用户 class ApplicationFilters { def springSecurityService def filters = { all(controller:'*', action:'*') { after = { Map model -> def userName=spring

我正在尝试在筛选器中使用SpringSecurityService来获取当前登录的用户。问题是我得到了null,无法得到当前用户

class ApplicationFilters {

   def springSecurityService

   def filters = {
      all(controller:'*', action:'*') {

         after = { Map model ->

            def userName=springSecurityService.currentUser
         }
      }
   }
}
我还试图从过滤器中获取参数映射,结果也是空的。我该怎么解决这个问题


谢谢,

不知道您是否已经解决了这个问题,但是您可以通过参考注入的
应用程序上下文
来调用
*过滤器
类中的
服务
,如下所示:

class TestFilters {
  def filters = {
    all(controller:'*', action:'*') {
        before = {
            applicationContext.testService.serviceMethod()
        }
        after = { Map model ->

        }
        afterView = { Exception e ->

        }
    }
  }
}

我注意到,在我的服务中,依赖注入在动态重新加载代码时不起作用——我需要终止Grails进程并重新启动它。我得到了类似的NPE,我想不出来。也许对你来说也是一样?试着从代码中删除
Map model->
。除此之外,我的代码完全相同。@JasonNichols我可以确认这一点。依赖项注入似乎不适用于代码的动态重新加载。