2014-03-18 48 views
0

使用GWT,GAE創建Web應用程序。 我看了一大堆關於實現登錄系統的教程,但大多數教程都實現了它,所以登錄訪問Web應用程序是必須的。我該如何去做,以便任何人都可以訪問該應用,但如果他們想使用賬戶特定的功能,他們可以選擇註冊一個賬戶。無需登錄即可訪問

回答

0

有兩部分。

首先,在您的客戶端代碼中,檢查用戶是否已登錄。如果是,則允許訪問應用程序的「已關閉」部分。如果沒有,您將顯示一個鏈接/按鈕來登錄並隱藏授權用戶可訪問的選項卡/視圖。

其次,在您的服務器代碼中,您可以指定哪些請求不需要身份驗證,哪些請求需要身份驗證。如果用戶以某種方式知道如何發送請求而不使用客戶端代碼,則這是必需的。

例如,在我的代碼中,一些請求在最開始時調用checkSession()。如果在會話中沒有爲此用戶找到認證對象,則此方法會向客戶端拋出LoginException。如果認證對象存在,請求繼續正常執行並將請求的數據返回給客戶端。

0

除了Andrei的回答,如果你想要一個框架來管理你的會話,你可以使用GWT-Platform,它有an excellent Gatekeeper feature

我把它用於我的,我有一個LoggedInGatekeeper類。只需將@UseGatekeeper(LoggedInGatekeeper.class)添加到每個演示代理的構造函數中,然後檢查用戶是否已登錄。如果您希望任何人都能訪問該頁面,只需使用@NoGatekeeper進行註釋。簡單!

它需要一些設置,但它是一個偉大的MVP框架。有maven原型和樣品等

希望這會有所幫助。

相關問題