Ich bin neu in nodejs
, also habe ich versucht, ein Authentifizierungssystem zu machen. Ich habe es nach einem Tutorial implementiert. Um das Benutzerobjekt bei der Authentifizierung abzurufen, müssen Sie es in der Sitzung speichern. Ich habe so durch express-session
die Konfiguration wie folgt:Passport - Benutzer ist nicht in Sitzung gespeichert
require('./config/passport')(passport); // pass passport for configuration
app.use(session({
secret: 'thisisagreatgreatsecretforthesession',
resave: true,
saveUninitialized: true
}));
app.use(morgan('dev'));
app.use(cookieParser());
app.use(bodyParser.urlencoded({ extended : false }));
app.use(bodyParser.json());
app.use(passport.initialize());
app.use(passport.session());
app.use(flash());
app.use(function(req, res, next) {
res.locals.user = req.user;
next();
});
var routes = require('./app/routes')(app, passport);
und dann in Pass konfiguriert I die serialisieren und deserialisieren funktioniert wie folgt:
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
User.findById(id, function(err, user) {
done(err, user);
});
});
ich versuchte, den Benutzer in der deserializeUser
Funktion auf die Konsole und es war richtig. Wenn ich jedoch in der Vorlage user
aufgerufen habe, habe ich einen Fehler erhalten, der besagt, dass der Benutzer nicht definiert ist.
Fehle ich etwas anderes in der Konfiguration?
Ich bekomme jetzt keine Fehler aber immer noch nichts wird in der Vorlage angezeigt, wenn ich 'user' benutze. Ist die Reihenfolge der Konfiguration bisher korrekt? – omarsafwany
Wenn keine Fehler auftreten, kann die Vorlage auf "Benutzer" zugreifen. Sie können 'console.log (req.user)' innerhalb der Middleware hinzufügen, um sicherzustellen, dass es tatsächlich einen Wert hat (es ist höchstwahrscheinlich ein Objekt, von dem Sie Eigenschaften in Ihrer Vorlage verwenden müssen, wie 'user.username' oder so ähnlich). – robertklep
'console.log (req.user)' funktioniert gut, aber in der Vorlage, wenn ich '<% user.name%>' verwende, bekomme ich gar nichts – omarsafwany