【问题标题】:Working with node.js session in Angular application在 Angular 应用程序中使用 node.js 会话
【发布时间】:2017-04-21 00:58:43
【问题描述】:

我在理解 node.js 会话变量的工作方式时遇到了问题,因为我使用 Angular 应用程序使用了使用 MongoDB 的 node.js API。这是我的 node.js 代码的一部分:

router.post('/login', function(req,res){
var q = User.findOne({'username':req.body.username, 'password':req.body.password});
q.exec(function(err,u){
    if(err){
        req.session.user="";
        res.status(500).send({error:err});
    }
    else if(u==null){
        req.session.user="";
        res.status(500).send({ error: "Wrong username or password!"});
    }
    else{
        req.session.user=u.username;
        res.json(u);
        console.log("Login successful!");
    }
});
});

在这段代码中,我设置了会话变量 user 以便稍后在我的 node.js API 中使用它来检查用户是否经过身份验证。如果我使用我的 Angular 应用程序调用此 API 方法,它似乎没有设置,因为如果我稍后尝试调用任何其他检查此会话变量的 API 方法,我会收到一个错误,我必须先登录。谁能向我解释这是如何工作的?谢谢。

【问题讨论】:

标签: javascript node.js api angular typescript


【解决方案1】:

这是一个关于会话如何工作的优秀教程https://stormpath.com/blog/everything-you-ever-wanted-to-know-about-node-dot-js-sessions。您的示例中缺少的部分是本教程中解释的“cookie”的概念。在了解事情是如何工作的之后,请确保您使用现有的 cookie 管理库,而不是尝试自己做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 2012-02-05
    • 2020-02-18
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    相关资源
    最近更新 更多