0
嗨我正在嘗試Spring安全核心與Grails並試圖獲取當前登錄的用戶。但是,我得到了java.lang.NullPointerException,這是由以下原因造成的:無法在null對象上獲取屬性'principal'。Spring安全服務與Grails - 獲取當前用戶'NULL'錯誤
下面是我的代碼:
import static org.springframework.http.HttpStatus.*
import grails.transaction.Transactional
import grails.plugin.springsecurity.annotation.Secured
@Secured(['ROLE_ADMIN'])
@Transactional
class MyController {
static allowedMethods = [save: "POST", update: "PUT", delete:
"DELETE"]
def test(){
def springSecurityService
render "Current User is: [" + springSecurityService.principal
+ "]"
}
}
由於種種原因springSecurityService爲空。我錯過了什麼?
請指教。先謝謝你!
'def springSecurityService'應該在類級別的方法'test()'之外。 –
非常感謝你Joshua!這工作!真的很感激它! –
當你把它放在類級別時,你實際上是在你的控制器bean類中注入一個spring服務bean,它與spring autowired是等價的/相同的。但內部方法,它只是一個變量。 –