【问题标题】:How to manage session in Node.js如何在 Node.js 中管理会话
【发布时间】:2011-11-07 06:50:24
【问题描述】:

我正在使用 express.session 和 connect-mongo 作为我的数据存储。

我面临的是......在我的服务器中,我有 20 个不同的 app.get() 调用。但并非所有人都需要检查会话。

但是,如果我在服务器的开头这样做:

express.createServer( express.session({ ... }));

然后每次调用都会触发 express.session,从而为 mongoDB 设置一个会话。

如何只限制我想触发 express.session 的那些?

e.g. app.get('/getASession')  will get a session
app.get('/donotGetSession')  will not even trigger express.session 

【问题讨论】:

    标签: session node.js express


    【解决方案1】:

    我找到了解决方案。 express.session 作为函数返回。所以我可以这样做:

    global.mySession = express.session({ secret: session_secret,
        store:new MongoStore({  
            db: session_db_name,
            host: session_db_ip,
            port: session_db_port
        })
    });
    
    
    
    app.get('/checkSession', mySession, function (req, res) {
        res.send("<div>ok</div>");
    });
    

    所以,如果我不想使用会话,那么我不会将 mySession 放在那里。 :) 简单的。我爱节点。 :D

    【讨论】:

    • 这确实是 express.js 的一个特性,而不是节点,但我同意。我爱他们俩。
    猜你喜欢
    • 2014-08-05
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    相关资源
    最近更新 更多