Heim > Web-Frontend > js-Tutorial > Implementieren Sie die Funktion zum Abfangen von Anmeldungen unter Express+Nodejs

Implementieren Sie die Funktion zum Abfangen von Anmeldungen unter Express+Nodejs

零下一度
Freigeben: 2018-05-23 17:10:14
Original
1736 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich der Login-Interception-Implementierungscode unter Express+Nodejs vorgestellt. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf

Es stellte sich heraus, dass ich nie wusste, wie man in Express+Nodejs einen Interceptor ähnlich wie Struts2 hinzufügt (da die Login-Interception-Funktion erforderlich ist).

Ich habe immer darüber nachgedacht, dem Router eine ähnliche Übertragung hinzuzufügen RoutingSteuercode (es ist sehr mühsam, jeden einzelnen hinzuzufügen)

app.get('/show', controllers.checkLogin);//登录验证
app.get('/show', controllers.showList);//实际跳转
Nach dem Login kopieren

Erneut Oder hinzufügen Die folgende Überprüfung für jede Controller-Methode in einigen Projekten (zu umständlich)

if (!req.session.user) {
    return res.redirect("/login");
  }
Nach dem Login kopieren

Kürzlich bin ich auf einen Codeausschnitt gestoßen, der zuvor eine Sitzung verwendet hat, und plötzlich hatte ich eine Erleuchtung! !

//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();
});
Nach dem Login kopieren

Ist das nicht nur ein Abfangjäger~囧~

Leicht modifiziert

//登录拦截器
app.use(function (req, res, next) {
  var url = req.originalUrl;
  if (url != "/login" && !req.session.user) {
    return res.redirect("/login");
  }
  next();
});
Nach dem Login kopieren

Nach dem Test war es erfolgreich

Das obige ist der detaillierte Inhalt vonImplementieren Sie die Funktion zum Abfangen von Anmeldungen unter Express+Nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage