Inserisci questo codice all'interno di una route sufficiente a proteggere le pagine da utenti non autenticati?Permetti solo agli utenti autenticati di passportjs di visitare la pagina protetta
if (!req.user) return res.send(401, "Not allowed in");
Inserisci questo codice all'interno di una route sufficiente a proteggere le pagine da utenti non autenticati?Permetti solo agli utenti autenticati di passportjs di visitare la pagina protetta
if (!req.user) return res.send(401, "Not allowed in");
È possibile utilizzare req.isAuthenticated()
per verificare se la richiesta è autenticata o meno.
function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) { return next(); }
res.redirect('/login')
}
app.get('/server', ensureAuthenticated, routes.server.get);
app.get('/login', routes.login.get);
O come questa
app.all('*', function(req,res,next){
if (req.params === '/' || req.params === '/login')
next();
else
ensureAuthenticated(req,res,next);
});
È sufficiente fintanto che non si perde una rotta da qualche parte. Assicurati solo che i tuoi percorsi siano nell'ordine corretto.
//checks to be sure users are authenticated
app.all("*", function(req, res, next){
if (!req.user)
res.send(403);
else
next();
});
//additional routes will require authentication due to the order of middleware
app.get("/admin", ....
Tuttavia, se si è spostato il percorso di amministrazione sopra quello globale, il percorso di amministrazione non sarebbe più protetto. Si potrebbe desiderare di mettere in modo intenzionale la pagina di login in precedenza, quindi non richiede l'autenticazione, ad esempio.
una correzione per la risposta di user568109, con espresso 4 il codice deve essere simile a questo:
app.all('*', function(req,res,next) {
if (req.path === '/' || req.path === '/login')
next();
else
ensureAuthenticated(req,res,next);
});
Cristo, grazie a Dio 'isAuthenticated()' è * * Completamente non documentato **. È come l'intero punto della biblioteca. Un giorno troverò questo ragazzo di Jared Hanson, mando un drone con una grossa mano di gomma su di esso a casa sua, e lo colpisco ripetutamente per trollare il mondo con Passport. Grazie. –
Amen! giusto amico, hehe! @JasonC –