将用户凭据传递给所有视图node.js

时间:2017-05-28 08:44:08

标签: javascript android node.js session express

我尝试使用node.js Web服务构建一个Android应用程序,第一个接口允许用户使用ip地址,登录名和密码连接到主机,这样他就可以获得所有数据库,我想要要保存对象凭据以便在所有其他路由中使用,我尝试了快速会话,但它没有用。 任何解决方案?

app.post('/connect',function(req,res){
    sess=req.session;
    sess.user=req.body.user;
    sess.password=req.body.password;
    sess.server=req.body.server;
    sess.database=req.body.database;
    console.log(sess)
    user = req.body.user;
    password = req.body.password;
    server = req.body.server;
    database = req.body.database;

    var config = {
        user: user,
        password: password,
        server: server,
        database: database
    };



    // connect to your database
    sql.connect(config, function (err) {

        if (err)  {res.json({success: false, message: "error connexion to SQL Server"});
            sql.close()}
        else{

            res.json({success: true, message: "connexion established to SQL Server"});

            sql.close();
        }
    });
});

2 个答案:

答案 0 :(得分:0)

如果您在节点应用程序中使用快速模块,这很容易。 您基本上使用express创建路由,并可以将所需数据传递到适当的路由和视图,如下所示

router.get('/', function(req, res, next) {
  res.render('category', 
    { 
      videodata: vd
    });
});

在渲染响应时,还包括要传递的数据。它的名称为videodata,值为vd

答案 1 :(得分:0)

在你的情况下,由android(或其他)的http lib进行的请求不是浏览,然后express-session将不起作用。您的服务器必须像API服务器,客户端(android)请求登录服务器响应一个令牌(api密钥或相同),在下一个请求客户端推送数据嵌入令牌和服务器端可以凭据请求。我建议阅读JWT(Json Web Token)来做到这一点。