2013-12-20 56 views
0

我剛剛開始學習AJAX,並陷入這個問題。每個AJAX頁面是否需要驗證用戶登錄?

問題: 我想顯示登錄按鈕或註銷按鈕,取決於用戶是否登錄到我的網站。

我能想到的一種可能的解決方案是對服務器(Java servlet)進行AJAX調用,以驗證用戶是否已登錄。服務器將檢查會話並用JSON響應是或否。然後我會在客戶端顯示正確的按鈕。

但是上面的解決方案迫使我在我的網站上的每一頁上都會重複這個過程。實現這一點必須有更好的方法。有人能就此提出建議嗎?

+2

看不出爲什麼你需要爲此使用AJAX。你不能只在第一次加載頁面時有條件地渲染每個按鈕嗎? –

+0

調查春季安全。您應該爲每個請求發送一個包含用戶令牌的cookie,而不是每頁一次。 –

+0

@AntP是的,你是對的。 – jiminssy

回答

1
<c:choose> 
    <c:when test="${loggedIn}"><a href="...">Logout</a></c:when> 
    <c:otherwise><a href="...">Login</a></c:otherwise> 
</c:choose> 

將它放入JSP中,從而在頁面呈現時生成相應的按鈕。不需要AJAX。

-1

解決此問題的常用方法是使用瀏覽器cookie。閱讀會話cookie。 :)

+0

安全性應該在服務器端而不是客戶端,所以它應該基於服務器會話而不是客戶端Cookie。 – developerwjk

相關問題