我有允许我检查用户身份验证的中间件,这里是:
function checkAuth(req, res, next) {
if (!req.session.user_id) {
res.redirect('/login');
} else {
next();
}
}
我有两个问题;
它是强大的用户身份验证检查吗?或者我应该像下面这样检查数据库中的 user.id:
if (!req.session.user_id) { res.redirect('/login'); } else { User.findById(req.session.user_id, function (err, user) { if (!user) return res.redirect('/login'); else return next(); }) }
如果检查失败,我会重定向到登录页面:
res.redirect('/login');
但如果我收到 AJAX 请求,我应该发送以下内容(我认为)
res.send(403, 'Permission denied');
那么如何检查请求类型并发送适当类型的响应呢?像上面那样做正确的方法吗?