2012-12-27 40 views
25

我一直在尋找最好的中間件來存儲MongoDB中的會話數據,以便在使用express的生產應用程序中使用?Express + MongoDB的最佳會話存儲中間件

我一直在找了一圈,發現這樣的:

  1. 會話貓鼬https://github.com/donpark/session-mongoose) 根據作者的評論這是不是生產準備原因如下:

    • 測試不足
    • 零優化
    • 有更好的 選擇比MongoDB的會話存儲
  2. 連接 - 蒙戈https://github.com/kcbanner/connect-mongo

  3. 快遞-會話蒙戈https://github.com/davglass/express-session-mongo

    基於這些類

    • 煎茶連接內存存儲
    • ciaranj的明確-會話的mongodb
  4. 連接會話 - 蒙戈https://github.com/bartt/connect-session-mongo

我一直在找在他們的代碼中,我試圖找到一份性能比較文章。你們有經驗來推薦哪一種最好?

+1

除非你對會議真的很喜歡,否則你應該只使用cookie會話。我這樣說是因爲99%的人使用會話來存儲用戶ID。會話通過將cookie內的會話ID與該數據庫中的ID進行匹配來工作。因此,如果您將它用於用戶標識,則實際上是在Cookie內部存儲一個標識(會話)以與數據庫中的標識(會話)相匹配以返回標識(用戶)。儘管您可以立即將用戶ID存儲在cookie中。 – Pickels

+9

如果您在cookie中存儲了用戶標識,用戶將能夠僞造該標識並冒充其他用戶。會話更安全,數據庫支持的會話存儲確保您的應用程序可以跨負載均衡器運行。 – Abadaba

+0

@Abadaba這就是混淆/密碼學有用的地方。您不應該輸出真實的,模式可識別的數據從您的數據庫到客戶端的用戶/帳戶信息。 – creatovisguru

回答

24

connect-mongohttps://github.com/kcbanner/connect-mongo)看起來比其他人好。

快遞-會話蒙戈連接會話 - 蒙戈很舊,基於舊版本mongodb驅動程序。

session-mongoose根據mongoose,這比mongodb驅動程序慢。

我認爲connect-mongo是最好的選擇。

+2

我有同樣的感覺,謝謝你的迴應 – Crisboot

相關問題