2017-05-27 102 views
0

我是新手身份驗證,爲什麼我需要會話變量。會話和cookie中expressjs

我按照以下步驟對我的用戶進行身份驗證。

  1. 一旦用戶登錄,我會設置一個編碼的cookie到用戶的瀏覽器。

  2. 對於來自用戶的每個請求,我將使用app.all(「*」)通過比較用戶cookie和我的數據庫,我將檢查用戶是否已登錄(以及用戶是誰?)。這個程序有什麼問題,我該如何改進?

+0

沒有必要使用'app.all(「*」,middlewareFn)',你可以改爲'app.use(middlewareFn)'。它本質上是一樣的,但我認爲它更乾淨,因爲它不是路線,而是應用程序。 – CreasolDev

回答

1

的過程,我認爲,絕對正確。會話變量不過是從瀏覽器獲得的已解析會話cookie。因此,您已經使用來自coockie的會話數據,即會話變量來檢查身份驗證。

在一般實踐中,程序與您所說的相似。如果你是新手,你可能會想看看像exepress-session這樣的庫,它可以像你一樣工作,並提供會話數據req.session

+0

您好Tolsee我已經經歷了exepress-session中間件,會話數據在關閉瀏覽器窗口後仍然存在,請自行創建cookie。 –

+0

是的,它創建會話cookie本身。您可以針對您的要求使用不同的選項。 – Tolsee