[英]How to create a form login with Spring Framework on Google App Engine
我是Spring和GAE的新手,我認為這很簡單,因此請不要忽略簡單的答案。
在春季,我了解到我需要創建UserDetailsService
的實現,該實現將在身份驗證的安全框架中填充UserDetails
。
完成此操作后,我在SpringUserDetailsService
Bean上收到一個NotSerializableException
,如果我對其進行序列化(如圖所示),則最終在DAO上得到了NotSerializableException
。 GAE將會話存儲在數據存儲中,據我閱讀Spring Web Security框架所了解的使用該會話。
如果我在服務中添加@Scope("session)
,則會收到以下我並不真正理解的異常。此外,為每個會話單獨創建此類的副本似乎也沒有意義,它們應該參考單例。
BeanCreationException:創建名稱為'testService'的bean時出錯:作用域'session'對於當前線程無效; 如果您打算從單例中引用它,請考慮為此bean定義作用域代理。 嵌套異常為java.lang.IllegalStateException:未找到線程綁定的請求:您是在實際Web請求之外引用請求屬性,還是在原始接收線程之外處理請求? 如果您實際上是在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){...}
}
對於諸如表單登錄之類的簡單任務,這很麻煩,有人可以幫忙解開我的大腦嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.