Expressjs中受密码保护的视图

时间:2015-02-15 23:47:19

标签: node.js authentication express

我正在尝试设置此方案:

我有一个视图/ quote / quoteId但是为了访问该视图首先需要输入密码(存储在db中)。

我无法使用中间件,因为我需要先知道quoteId以匹配输入的密码。

最好的办法是什么?

路线代码:

router.get('/quote/:q', /*passwordAccess,*/ function(req, res) {

   var quoteId = req.params.q || '';

   quotes.findOne({id: quoteId}, function(err, data) {
      if(err){
         console.log(err);
         return next();
      }else if(data === null){
         res.render('404', {msg: "quote not found"});
      }else{
         if(data.isEnabled){
            res.render('quote', {quote: data});
         }else{
            res.render('404', {msg: "quote disabled"});
         }
      }
   });
});

我需要将某种密码输入(我猜的HTML格式)与data.access_password匹配。

提前致谢!

PD:我不想使用Passwport,因为我不需要会话和cookie。只是密码匹配。

1 个答案:

答案 0 :(得分:0)

首先, 当您需要受密码保护的页面时,应使用POST方法而不是GET方法。不过,如果你想提出如上所述的GET请求,

您可以发送请求,例如 - <<some server address>>/quote/10?pwd=mypwd

你可以在 -

中获取你的变量

var pwd = req.params.pwd || ''

希望这会对你有所帮助。感谢