dimanche 5 avril 2015

render() - how it loads controllers?

I give 401 Uanthourised acces header with



module.exports = function() {

return function(req, res, next) {

if (!req.isAuthenticated()) {
res.status(401);
console.log('Unauthorized');

res.render('login.html', { csrfToken: req.csrfToken() });

return;
}

next();
};
};


Now login.html is a view handled by completly different controller:



var passport = require('passport');
var config = require(__dirname + '/../lib/config');

module.exports = function (router) {

router.get('/', function (req, res) {
// Error flash messages
var errorFlash = req.flash('error');
if (errorFlash && errorFlash.length) {
res.locals.error = errorFlash;
}
res.render('login.html', { csrfToken: req.csrfToken() });
});

router.post('/',
passport.authenticate('local', {
failureRedirect: '/login/',
failureFlash: true
}),
function(req, res) {
res.cookie(config.cookie.name, req.user.email, { signed: true, maxAge: 1234 });
res.redirect('/');
}
);

};


My concern is how I can be sure what part of login controller fires up? render('index.html') somehow hooks up to router.post() in index controller and login form is handler as usual. How that can be?


Aucun commentaire:

Enregistrer un commentaire