2014-10-30 40 views
0

如果用戶選擇此選項,我在使用IBM Worklight開發的iOS和Android應用程序中需要記住用戶標識。如何實現本地和遠程登錄頁面的「記住我」功能?

我可以通過使用本地存儲實現這一點,但問題是,我有登錄頁面:

  • 一個被放置在應用程序中,而
  • 二是託管在遠程服務器上

根據應用程序會遇到的情況,將顯示遠程登錄頁面或顯示本地登錄頁面。

如果我在本地頁面上使用localStorage,則無法訪問服務器端登錄頁面。所以我想使用移動設備上的一些存儲/文件來存儲我的本地和服務器登錄頁面都可以訪問的用戶ID。這可以使用worklight/phonegap存儲嗎?

更多解釋:

遠程登錄頁面託管在某些www.xxx.com域。我的要求是在啓動應用程序時向用戶顯示本地登錄頁面,用戶可以輸入用戶名和密碼並選擇記住我的選項並提交表單。然後用戶登錄並導航到某個xxx.com/yyy服務器頁面。當用戶點擊註銷時,從那裏導航到www.xxx.com服務器上託管的遠程登錄頁面。當用戶已經檢查過在本地頁面中記住我的選項時,遠程登錄頁面必須預先填充用戶ID文本框。當用戶在遠程登錄頁面輸入憑證並選擇記住我複選框時,應該會發生同樣的情況。所以當用戶從後臺關閉應用程序並重新啓動時,應用程序用戶將獲得本地登錄頁面,我需要在上次輸入時預先填充用戶標識。

+0

在文件(本機)或瀏覽器上使用本地存儲器,將不允許服務器獲取此數據......您對「本地和服務器登錄頁面均可訪問」是什麼意思? – 2014-10-30 02:10:27

+0

添加更多關於「遠程登錄頁面」的信息 - 你打算如何顯示它?它是否是應用程序中基於適配器的身份驗證的一部分?需要更多信息。 – 2014-10-30 05:51:51

+0

更新了我的問題。請告訴我,如果不清楚,謝謝。 – user3878988 2014-10-30 13:31:46

回答

0

簡答:在我看來,沒有。

較長的答案:我會解釋什麼,我認爲使用您的方案:

遠程登錄頁面上的一些www.xxx.com域名託管。我的要求 正在啓動應用程序本地登錄頁面顯示給用戶, 那裏用戶可以輸入用戶名和密碼並選擇記住我 選項並提交表單。

到目前爲止好。您可以將其存儲在Web存儲或JSONStore中或使用Cordova File API。捕獲:所有這些僅適用於特定應用。

然後用戶登錄並導航到某個xxx.com/yyy服務器頁面。當用戶點擊註銷時,從 導航到www.xxx.com服務器上託管的遠程登錄頁面 。由於用戶已經選中 請記住我在本地頁面的選項,遠程登錄頁面必須在 之前填寫用戶標識文本框。

仍然合理。假設用戶選擇了「記住我」,那麼您可以調整指向遠程登錄頁面的URL並使用它作爲參數usernamepassword發送。假設將有一種機制來處理遠程頁面上的這些機制。

這並不是免費的午餐,雖然。

而同樣的情況應該發生。因此,當用戶從殺死背景 應用和將重新啓動應用程序的用戶將獲得 本地登錄頁面,在這裏我需要預先填充用戶ID最後 一次他進入。

這也是IMO的一個問題,因爲任何應用程序都是沙盒 - 無論是瀏覽器應用程序還是Worklight應用程序,它們都是沙盒。因此您不能只訪問網站X,併爲其創建一些localStorage,並期望該數據可用於屬於另一個應用的另一個WebView。這是沙盒的重點,以保護應用程序。

在這種情況下,其中遠程「頁」將保存數據,只有Web存儲可用反正JSONStore需要工作燈API,當你加載外部網站,這是不可用的。

注: