我正在嘗試在本地開發服務器上使用App Engine的UserService,它的行爲並不像我期望的那樣。我搜索論壇的問題的答案,但找不到任何具體解決我的問題。App Engine開發服務器無法檢測登錄用戶
我做的第一件事就是從UserService得到一個登錄網址如下:
UserService userService = UserServiceFactory.getUserService();
if(userService.isUserLoggedIn())
String loginURL = userService.createLoginURL("/mycallbackservlet");
else
... do something else
假設用戶是不是在最初登錄,我提供了一個「mycallbackservlet」作爲目標URL重定向到後(成功)登錄。要啓動登錄過程我打開在客戶端一個GWT窗口如下:
Window.open(loginURL, "Bla", props);
的loginURL是上面創建的一個。我將看到本地開發服務器的模擬登錄屏幕,您可以在其中鍵入任何用戶。我只需點擊確定。現在,我的回調的servlet調用(如預期),但是當我檢索UserService對象再次它不給我登錄的用戶,這是
UserServiceFactory.getUserService().isUserLoggedIn()
回報「假」。怎麼會這樣?這是典型的開發服務器行爲還是我做錯了什麼?我是否應該以不同的方式打開最初的URL,即不是使用Window.open(),而是使用其他的東西?
任何建議將不勝感激!