req.user
nicht zugänglich überall außer seiner Ursprung Funktion zuzugreifen.kann nicht req.user in Passport.js auf Express.js
Ich lese, dass der Pass den Benutzer an jede Anfrage nach der Authentifizierung anfügt.
Ich möchte den Zugriff auf die inneren Seiten durch die URL-Leiste jeden Benutzer stoppen damit die Login-Seite ein Überspringen oder wenn seine Sitzung bereits aktiv ist, muss er auf die Benutzerseite umgeleitet werden. Diese zwei Dinge können nur getan werden, wenn ich Zugang zu req.user
in allen Middlewares bekomme.
app.js: -
app.post('/',passport.authenticate('local',{failureRedirect: '/'}),
function(req,res,next){
console.log(req.user); //req.user defined here only not in users.js
res.redirect('/users');
});
users.js: -
router.get('/users', function(req, res, next) {
console.log(req.user);//undefined
res.render('users');
});
DeserializeUser: -
passport.deserializeUser(function(id, done) {
db.findById(id, function(err, user) {
done(err, user);
console.log(user) //undefined
});
});
Ja hinzugefügt es funktioniert aber nicht. – Red
Was genau funktioniert nicht, 'req.user' ist nicht definiert? Können Sie die Middleware hinzufügen, die Sie verwenden, um festzustellen, ob sich ein Benutzer bei Ihrer Frage angemeldet hat oder nicht? – robertklep
Ja req.user ist nicht in Routen definiert. In der Frage wurden Schnipsel eingefügt. – Red