2017-05-28 73 views
0

我想使用node.js web服务构建一个android应用程序,第一个接口允许用户使用ip地址,登录名和密码连接到主机,所以他可以得到所有的数据库,我想保存所有其他路线中使用的对象凭据,我试过快速会话,但它没有奏效。 任何解决方案?将用户的凭据传递给所有视图node.js

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(); 
     } 
    }); 
}); 
+0

查找Passport.js。它使用Express会话或Json Web令牌。 –

+0

这不是我正在寻找的解决方案 –

+0

为什么这不是您的解决方案?你的用例到底是什么? – squgeim

回答

0

在你的情况下,请求由Android的(或另一个)的非lib浏览然后express-session将无法​​正常工作。您的服务器必须像API服务器,客户端(android)请求登录服务器响应令牌(API密钥或相同),在下一个请求客户端推入数据嵌入令牌和服务器端可以凭据请求。我建议阅读关于JWT(Json Web Token)来做到这一点。

0

如果您在节点应用程序中使用express模块​​,这很容易。 你基本上创建使用快车线路和可以将需要的数据传递到合适的路线和意见如下

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

这里同时呈现响应,也就是要传递的数据也包括在内。它的名字是videodata和值是vd