2013-02-21 88 views
0

我正在開發一個使用Grails的應用程序。Grails Springsecurity

我一直在面臨一個問題,每當我在域類中進行一些更改時,應用程序會自動重新運行,並且當我嘗試刷新頁面時,我會收到拒絕訪問頁面並且日誌顯示user Id is null
這裏是日誌使用org.springframework.deerwalk.impl.CustomCasAuthenticationProvider

驗證嘗試

groovy.lang.MissingMethodException: No signature of method: static com.usermanant.User.get() is applicable for argument types: (java.lang.Long) values: [1] 
Possible solutions: getId(), wait(long), setId(java.lang.Long), getAt(java.lang.String), grep(java.lang.Object), wait() 
User:null 

請幫助我。

回答

2

如果您使用內存數據庫,則只要對域模型進行更改,現有項目就會被刪除。

如果您願意,您可以將最小的一組數據插入到bootstrap.groovy中。

熱替換像真正的MySQL數據庫通常也需要重新啓動您的應用程序。

+0

但爲什麼用戶ID空只是當應用程序重新運行 – 2013-02-21 08:59:47

+0

大概是因爲會議得到了無效。 如果您首先訪問沒有登錄用戶的頁面,您應該會得到相同的行爲。 – 2013-02-21 10:19:48

+0

當您將更改保存到域類時,請務必重新啓動應用程序 – Bart 2013-03-20 18:42:13

0

在你Config.grooy(下配置)你有這些行:

grails.plugins.springsecurity.userLookup.userDomainClassName = 'com....User' 
grails.plugins.springsecurity.userLookup.authorityJoinClassName = 'com....UserRole' 
grails.plugins.springsecurity.authority.className = 'com....Role' 

你應該在這裏有正確的類名。

你的情況:

grails.plugins.springsecurity.userLookup.userDomainClassName ='com.usermanant.User' 
相關問題