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