Maison > interface Web > js tutoriel > le corps du texte

Implémenter la fonction d'interception de connexion sous Express+Nodejs

零下一度
Libérer: 2018-05-23 17:10:14
original
1722 Les gens l'ont consulté

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);//实际跳转
Copier après la connexion

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");
  }
Copier après la connexion

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();
});
Copier après la connexion

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();
});
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal