这是我的错误:
无法在null对象上调用方法getCurrentUser()。 Stacktrace如下:
消息:无法在null对象上调用方法getCurrentUser()
我的代码:
import org.springframework.dao.DataIntegrityViolationException
import grails.plugin.springsecurity.annotation.Secured;
@Secured('ROLE_SYSTEMADMIN')
class InstanceController {
...
def save() {
def instanceInstance = new Instance(params)
def springSecurityService
println("user is"+springSecurityService.getCurrentUser());
...
我用:
我已经登录了。我确定。 谢谢你的回复。
拉赛尔
答案 0 :(得分:4)
您将springSecurityService
定义为方法变量。您应该将其定义为实例变量:
class InstanceController {
def springSecurityService
def save() {
def instanceInstance = new Instance(params)
println("user is"+springSecurityService.getCurrentUser());
..
}
}
现在spring可以在创建控制器后注入springSecurityService
。
答案 1 :(得分:0)
该服务未被注入,因为您没有声明控制器的全局属性。从你的save方法声明它,然后调用currentuser属性,这应该工作。