2016-08-08 20 views

Antwort

35

Für jede Anfrage können Sie überprüfen, ob ein Benutzer authentifiziert ist oder nicht.

app.get('/some_path',checkAuthentication,function(req,res){ 
    //do something only if user is authenticated 
}); 
function checkAuthentication(req,res,next){ 
    if(req.isAuthenticated()){ 
     //if user is looged in, req.isAuthenticated() will return true 
     next(); 
    } else{ 
     res.redirect("/login"); 
    } 
} 
+2

können Sie mir erklären, was ist genau req.isAuthenticated tun? Ursache stattdessen req.isAuthenticated(), kann ich überprüfen, ob der Client Login ist oder nicht: 'req.session.passport.user! == undefined 'richtig? – Kim

+2

Ja, Sie können das verwenden. isAuthenticated() ist ihre eigene benutzerdefinierte Implementierung derselben. Sie können den Code [hier] überprüfen (https://github.com/jaredhanson/passport/blob/a892b9dc54dce34b7170ad5d73d8ccfba87f4fcf/lib/passport/http/request.js#L74) – nrgwsth