簡體   English   中英

如何在Google App Engine上使用Spring Framework創建表單登錄名

[英]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){...}
}

對於諸如表單登錄之類的簡單任務,這很麻煩,有人可以幫忙解開我的大腦嗎?

查看這篇文章。 它應該使您開始:

http://blog.springsource.com/2010/08/02/spring-security-in-google-app-engine/

格蘭特

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM