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

零下一度
リリース: 2018-05-23 17:10:14
オリジナル
1722 人が閲覧しました

この記事では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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート