ホームページ  >  記事  >  ウェブフロントエンド  >  Express+Nodejsでログインインターセプト機能を実装する

Express+Nodejsでログインインターセプト機能を実装する

零下一度
零下一度オリジナル
2018-05-23 17:10:141689ブラウズ

この記事ではExpress+Nodejsでのログインインターセプトの実装コードを中心に紹介していますが、編集者が非常に良いと思ったので参考として共有させていただきます。エディターをフォローして見てみましょう

Express+Nodejs で Struts2 に似たインターセプターを追加する方法をまったく知らなかったことがわかりました (ログイン インターセプト機能を使用する必要があるため)。

同じような転送ルーティング制御コードをルーターに追加することを考えていました(一つ一つ追加するのは非常に面倒です)

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

あるいは、いくつかのプロジェクトでは各コントローラーメソッドに以下を追加するかもしれませんこの種の検証(も面倒)

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

最近、以前セッションを使用したコードスニペットを見つけて、突然啓発されたような気分になりました! !

//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();
});

これはただのインターセプターじゃないですか~囧~

少し修正しました

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

テストした結果、成功しました

以上がExpress+Nodejsでログインインターセプト機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。