将SpringSecurityService注入Grails中的筛选器时为Null
我正在尝试在筛选器中使用SpringSecurityService来获取当前登录的用户。问题是我得到了null,无法得到当前用户将SpringSecurityService注入Grails中的筛选器时为Null,grails,Grails,我正在尝试在筛选器中使用SpringSecurityService来获取当前登录的用户。问题是我得到了null,无法得到当前用户 class ApplicationFilters { def springSecurityService def filters = { all(controller:'*', action:'*') { after = { Map model -> def userName=spring
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我可以确认这一点。依赖项注入似乎不适用于代码的动态重新加载。