我正在运行 Grails 2.2.1。我有一个 Grails 服务,它充当气氛处理程序。
请参阅此链接:https ://bitbucket.org/bgoetzmann/grails-atmosphere-plugin/wiki/Home
我正在尝试以简单的方式在其中使用 spring 安全服务,即通过def springSecurityService
. 但是当服务命中处理程序时,
springSecurityService.getCurrentUser()
返回 null。
用户已登录,我可以让他进入我的控制器。我认为该服务没有以某种方式注入。
经过一些研究,我遇到了这个问题
Injecting service into Grails Atmosphere Handler class
但两个答案都过时了......
请帮忙!
编辑:我的服务是这样的:
AtmosphereRequest req = r.getRequest();
if (req.getMethod().equalsIgnoreCase("GET")) {
log.info "got get, and suspending."
r.suspend();
} else if (req.getMethod().equalsIgnoreCase("POST")) {
def data = req.getReader().readLine().trim()
log.info "got some data:\n $data"
if (data == "GET_NEARBY"){
log.info "finding nearby..."
def user = springSecurityService.getCurrentUser()
log.info "user is $user" //USER IS NULL HERE
//...some logic
}
}