2011-04-04 48 views
0

如果我想讓用戶登錄和註銷,那麼在無狀態應用程序中這樣做會有什麼好的模式?跟蹤用戶是否在無狀態Web應用程序中登錄?

此外,最重要的安全問題是什麼?我正在考慮用Java來做這件事。

謝謝, 亞歷克斯

+0

嗯,我認爲「無狀態」這個詞意味着沒有狀態正在被保存,因此不能跟蹤某個用戶。 – ITroubs 2011-04-04 18:48:13

+0

@ITROUBS我的理解是,你只需要以db或者cookie的方式存儲東西,或者更聰明些。但我不確定如此,我問:) – Genadinik 2011-04-04 18:54:16

+0

實際上,如果您使用JavaEE並創建JAVAEE Web應用程序,那麼有一些可能的方法來聲明您的bean。 Statles,Session和其他一些。無國籍人無法識別用戶。會話bean將在服務器的特定會話之前存儲。最好的方面是服務器自動執行它,並且不必擔心處理和存儲會話。 – ITroubs 2011-04-04 19:08:20

回答

2

如果您不能會話數據存儲在用戶的瀏覽器(通過cookie中),這可能是很難實現的。

我不確定「無狀態」是什麼意思,但如果將會話密鑰存儲在用戶瀏覽器中是不可能的,那麼您始終可以在您生成的HTML中發送此「密鑰」。這個「鑰匙」將是你隨機生成的東西(足夠隨機,以至於沒有人能夠輕易猜出它)。 「鑰匙」僅由您和用戶所知。每當用戶請求一個新頁面時,如果用戶想要被識別爲登錄,他需要將該密鑰「POST」或「GET」作爲HTTP參數。

安全性問題是如果你通過非-secure(http),網絡很容易被嗅探。如果你通過SSL(https)執行它,它可能更安全。

+0

我想我以爲這是一個網站。儘管類似的概念適用於其他應用程序。 – jihop 2011-04-04 18:57:49

+0

applicationdeveloper必須處理持久性。但如果您正在開發一個Web應用程序,那麼它大部分都是通過JavaEE和一個Web應用程序服務器完成的,其中會話生成和會話處理大部分由服務器完成,因此開發人員不必擔心這一點。 – ITroubs 2011-04-04 19:10:44

相關問題