0

我是Spring和GAE的新手,我認爲這很簡單,所以不要忽略簡單的答案。如何使用Google App Engine上的Spring Framework創建表單登錄

在春天我明白我需要創建一個UserDetailsService的實現,它爲驗證上的安全框架填充UserDetails

做完這些之後,我在我的SpringUserDetailsService bean上得到了一個NotSerializableException,如果我序列化它(如圖所示),最終我在DAO上得到一個NotSerializableException。 GAE將會話存儲在數據存儲中,並且據我所知,Spring Web Security框架使用該會話。

如果我將@Scope("session)添加到我的服務中,我得到以下例外,我真的不明白。另外,爲每個會話分別創建一個這個類的副本似乎沒有意義,他們都應該引用這個單例。

BeanCreationException:錯誤創建 豆名爲「TestService的」:範圍 「會話」是不是爲 當前線程活躍;考慮爲這個bean定義一個 作用域代理,如果你想從一個 單例中引用 ;嵌套的例外是 java.lang.IllegalStateException:未找到 線程綁定請求:你 指請求屬性 之外的實際Web請求,或 處理 最初接收線程之外的請求?如果您 實際上是一個網絡 請求內運行,並仍收到此消息 ,你的代碼可能運行 DispatcherServlet的/ DispatcherPortlet的以外: 在這種情況下,使用 RequestContextListener或 RequestContextFilter兩個揭露 當前請求。

@Service("springUserDetailsService") 
public class SpringUserDetailsService implements UserDetailsService, Serializable { 
@Resource(name="userDao") 
private IUserDao userDao; 

    @Override 
    public UserDetails loadUserByUsername(String username){...} 
} 

對於一件容易的事象的形式登錄,這是踢我的屁股,誰能幫助解開我的大腦?

回答

相關問題