2012-04-12 130 views
1

我有一個Web應用程序有三個頁面,一個是登錄頁面,第二個是聯繫頁面,第三個是聊天頁面。要穿越的自然順序是一秒到二秒和二到三秒。重定向到其他頁面

登錄(使用我們的網絡服務)需要打開第二頁和第三頁。現在我們要求我們直接從第三方應用程序打開第三頁。

因此,假設從瀏覽器請求第三頁,並且在相同的瀏覽器登錄(使用第一頁)時已經完成。然後我們需要直接顯示第三頁,否則顯示用戶第一頁即登錄頁面。

需求與需求相似facebook頁面可以通過點擊gmail頁面的鏈接打開,如果facebook用戶已經登錄,他可以直接看到所需頁面。

回答

0

當我寫此功能爲我的最後一個項目,我一般做了以下內容:

  1. 嘗試在任何頁面加載之初加載頁面
  2. ,被檢查的第一件事就是登錄狀態
  3. 如果的loggedIn == false,那麼你要保存當前網址和重定向與前一個URL的參數 (mysite.com/login?url=/something/page3)
  4. 登錄,然後當他們提交新的登錄信息時,一旦成功你可以簡單地獲取你的url參數的值,然後重定向到 這個值。

但是,爲了做到這一點,您可能需要解決以下問題:您的頁面框架,基於頁面的模塊化代碼(mvc通常對此有幫助),可以檢查的登錄功能輕鬆登錄狀態,以及更多

+0

那麼,我們是否必須將登錄狀態存儲在服務器的內存中?假設有多個客戶端使用不同的憑據訪問我的頁面,那麼我應該如何處理所有這些事情。我的意思是會話ID將是唯一的,但會話ID,我們應該保留一些其他信息,如瀏覽器/ IP /用戶ID等,並作出一個唯一的標識符..進一步,我們需要一個計時器運行到期屆滿。請建議我們是否需要所有這些東西。 – sakura 2012-04-12 05:13:34

+0

爲了使您的應用程序成爲無狀態的,您最好使用imho,並將您的身份驗證狀態作爲加密的令牌存儲在客戶端的Cookie中。這種方式很容易檢查,並且cookie的到期自動發生,因爲它需要給它一個到期日期。另外,這意味着你不必擔心在多臺服務器上玩弄會話id ......就像你在使用雲應用時一樣 – Kristian 2012-04-12 14:06:32

相關問題