2012-12-27 84 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

相关问题