Cet article présente principalement le code d'implémentation de l'interception de connexion sous Express+Nodejs. L'éditeur pense qu'il est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil
Il s'avère que je n'ai jamais su comment ajouter un intercepteur similaire à Struts2 dans Express+Nodejs (car la fonction d'interception de connexion est requise).
J'ai toujours pensé à ajouter un transfert similaire au routeur RoutageCode de contrôle (c'est très gênant d'ajouter chacun)
app.get('/show', controllers.checkLogin);//登录验证 app.get('/show', controllers.showList);//实际跳转
Encore Ou comme dans certains projets, ajouter la vérification suivante à chaque méthode de contrôleur (trop lourde)
if (!req.session.user) { return res.redirect("/login"); }
Récemment, je suis tombé sur un extrait de code qui utilisait la session auparavant, et du coup j'ai eu une illumination ! !
//session app.use(function (req, res, next) { var err = req.flash('error'); var success = req.flash('success'); res.locals({ user:req.session.user, navSide:req.session.navSide, error:err.length ? err : null, success:success.length ? success : null }); next(); });
N'est-ce pas juste un intercepteur~囧~
Légèrement modifié
//登录拦截器 app.use(function (req, res, next) { var url = req.originalUrl; if (url != "/login" && !req.session.user) { return res.redirect("/login"); } next(); });
Après les tests, il a réussi
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!