2016-08-08 40 views

Odpowiedz

35

Dla każdego żądania możesz sprawdzić, czy użytkownik jest uwierzytelniony lub nie korzysta z tej metody.

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

czy możesz mi wytłumaczyć, co dokładnie jest wymagane. Czy jest to wymagane? ponieważ zamiast tego używając req.isAuthenticated(), mogę sprawdzić, czy klient jest zalogowany, czy nie, używając: 'req.session.passport.user! == undefined' right? – Kim

+2

Tak, możesz tego użyć. isAuthenticated() to własna niestandardowa implementacja tego samego. Możesz sprawdzić kod [tutaj] (https://github.com/jaredhanson/passport/blob/a892b9dc54dce34b7170ad5d73d8ccfba87f4fcf/lib/passport/http/request.js#L74) – nrgwsth