我应该重定向还是呈现页面?验证的最佳做法是什么?
var User = require('models/user.js');
User.authenticate(req.body.email, req.body.password)
.then(function(error, user){
//IF SUCCES AND NO ERROR
res.redirect('/profile');
//OR
res.render('profile.pug');
})
.catch(error => console.log(error));
答案 0 :(得分:0)
在您的路线中,您应该:
当一切正常(没有错误)时:
return res.render('view',{
param1:param2
});
出现错误时:
req.flash('error', error.message); // If you are using flash
return res.redirect('back'); // It will redirect user back
// and display some error message
如果要编写用于身份验证的中间件:
middlewareObj.isAuthenticated = function(req, res, next) {
if (req.isAuthenticated()){
return next();
} else {
return res.redirect('/signin'); // Or status code
}
};