2015-12-04 31 views
0

我使用表達對的NodeJS快遞會話與MySQL。我還能夠設置cookie和會話。如何將用戶數據存儲到節點JS快遞會話

這裏是我的代碼:

app.use(cookieParser('3CCC4ACD-6ED1-4844-9217-82131BDCB239')); 
session({resave: true, saveUninitialized: true, secret: '2C44774A-D649-4D44-9535-46E296EF984F', cookie: { maxAge: 600000 }})); 

我可以在瀏覽器cookie中名爲connect.id已設置見。 但現在我不明白如何從一個MySQL數據庫中獲取它們後存儲用戶名和用戶名。

已使用Google搜索,但無法找到解決方案。請幫助我。謝謝!!

+0

如何在每次用戶登錄之前檢查並向他發送回覆。 –

回答

0

您不會將這些cookie存儲在該用戶的第一次登錄中,而是將cookieID與該數據庫中的該用戶名相鏈接,現在每次用戶連接時,首先查看數據庫中的cookieID,if它不存在,那麼你發送他需要登錄的用戶。如果數據庫中有註冊表,那麼您知道這是可信用戶。

您可以使用用戶名作爲密鑰,因此如果相同的用戶名帶有不同的CookieID,則它會被覆蓋,無論如何,您最好還是在數據庫中保存一個時間戳,並刪除那些具有確定舊時間的寄存器。

這基本上是一個會話,它在cookie中有一個id並保存與該id相關的變量,我在快速會話中遇到了不好的經歷,所以我更喜歡使用cookie並自行處理會話,這是我推薦的方式。

在節點,得到一個cookie:

req.cookie.cookieName 

並設置cookie:

res.cookie('cookieName', cookieValue); 

請從未在cookieValue保存私有數據,因爲它可以隱身。

+0

感謝您的信息。我還發現快速會議有點複雜。你的方式很簡單。通過檢查每個請求上的數據庫,它不會減慢服務器的速度嗎?請給我一些想法。 –

相關問題