我正在尝试设置此方案:
我有一个视图/ 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。只是密码匹配。答案 0 :(得分:0)
首先, 当您需要受密码保护的页面时,应使用POST方法而不是GET方法。不过,如果你想提出如上所述的GET请求,
您可以发送请求,例如 - <<some server address>>/quote/10?pwd=mypwd
你可以在 -
中获取你的变量 var pwd = req.params.pwd || ''
希望这会对你有所帮助。感谢