节点新手在这里
所以我使用Node(0.12.x)Express(4.x)& Passport(0.3.x)用于身份验证,如果用户在没有正确身份验证的情况下访问页面,则将执行res.redirect('/ login')(通过ensureLoggedIn('/ login'))。用户被重定向到登录页面后,我想给用户一些反馈,告诉他们他们已被重定向,即。 “由于未经授权的访问,您已被重定向,请登录”。我怎样才能做到这一点?我的代码在下面
app.get('/', require('connect-ensure-login').ensureLoggedIn('/login'), function(req, res) {
res.sendFile(path.join(html_dir + 'form.html'), {
user: req.user
});
});
app.get('/login', function(req, res) {
res.sendFile(path.join(html_dir + 'login.html'));
});
app.post('/login', urlencodedParser, function(req, res, next) {
passport.authenticate('local', function(err, user, info) {
if (err) {
return res.status(500).send({
success: false,
message: err
});
}
if (!user) {
res.statusCode = 200;
return res.status(200).send({
success: false,
message: "Incorrect username or password"
});
}
req.logIn(user, function(err) {
if (err) {
console.log(err);
return res.status(500).send({
success: false,
message: err
});
}
console.log("verified");
res.statusCode = 200;
res.setHeader("Location", "/");
return res.status(200).send({
success: true
});
});
})(req, res, next);
});