Wenn ich mich also auf meiner Website anmelde und innerhalb derselben URL navigiere (zB: localhost/private/xxxx), gibt res.locals.user ein Objekt zurück.res.locals Variable leer oder nicht im Bereich?
Wenn ich außerhalb des Bereichs (ex: localhost/xxxx) gehe, ist res.locals.user
leer.
/app.js
...
app.use(passport.session());
app.use(require('./controllers'));
...
/controllers/index.js
router.use('/private', require('./member.js'));
router.use('/admin', require('./admin.js'));
/* Some basic routes. */
router.get('/', function(req, res, next) {
res.render('index', { ... });
});
Nach loggin in res.locals.user
noch leer ist hier
/controllers/member.js
router.use(function isMember(req, res, next) {
if(req.isAuthenticated()) {
res.locals.user = req.user;
return next();
}
req.flash('error', 'WHY YOU LITTLE!');
res.redirect('/login');
});
router.get('/', function(req, res, next) {
res.redirect('/private/index');
});
router.get('/something', function(req, res, next) {
res.redirect('/private/somehting');
});
router.get('/darkside', function(req, res, next) {
res.redirect('/private/darkside');
});
res.locals.user
kehrt richtig den Benutzer, ob ich /private navigieren, /private/etwas oder /private/darkside
Ist es ca verwende ich eine Middleware-Route bei der Verwendung von router.use('/private', require('./member.js'));
? Wie behebe ich das?
Das Problem dabei ist, muss ich den Benutzer zu jeder meiner Routen hinzufügen (ca. 30 und mehr). res.locals.user vermeidet dies, da es für die Aufnahme meiner Vorlagendateien geeignet ist. – Goowik