[解決済み] Expressで特定のパス以外のすべてのパスに特定のミドルウェアを使用する
2023-01-20 13:19:27
質問
node.jsでExpressフレームワークを使用して、いくつかのミドルウェア機能を使用しています。
var app = express.createServer(options);
app.use(User.checkUser);
を使うことができる。
.use
関数にパラメータを追加することで、特定のパスでのみこのミドルウェアを使用することができます。
app.use('/userdata', User.checkUser);
パス変数を使用して、特定のパス、すなわちルートパス以外のすべてのパスに対してミドルウェアを使用することは可能でしょうか?
このようなことを考えています。
app.use('!/', User.checkUser);
そこで
User.checkUser
はルートパス以外では常に呼び出されます。
どのように解決するのですか?
ホームページ以外のすべてのパスにcheckUserミドルウェアを追加するのです。
app.get('/', routes.index);
app.get('/account', checkUser, routes.account);
または
app.all('*', checkUser);
function checkUser(req, res, next) {
if ( req.path == '/') return next();
//authenticate user
next();
}
これを拡張して、非認証パスの配列からreq.pathを検索することができます。
function checkUser(req, res, next) {
const nonSecurePaths = ['/', '/about', '/contact'];
if (nonSecurePaths.includes(req.path)) return next();
//authenticate user
next();
}
関連
-
[解決済み] 再インストールを繰り返しても、npm run でモジュール 'sass' が見つからない。
-
[解決済み】AWS Lambdaでnodejsの「ref」モジュールを使用すると「invalid ELF header」と表示される件
-
[解決済み】npx コマンドが見つかりません。
-
[解決済み】モジュール '@babel/core' が見つかりません。
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] Node.jsで「btoaが定義されていない」エラーが発生する
-
[解決済み] Yarn にパッケージを強制的に再インストールさせるにはどうしたらいいですか?
-
[解決済み] ノード / エクスプレス EADDRINUSE、アドレスはすでに使用中です - サーバーを停止してください。
-
[解決済み] Node.jsのConnect、Express、「ミドルウェア」って何?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 再インストールを繰り返しても、npm run でモジュール 'sass' が見つからない。
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み】MongooseでEnumを作成し使用する方法
-
[解決済み】Passport.js - エラー: ユーザーのセッションへのシリアライズに失敗しました。
-
[解決済み】POSTできない/expressを使用するとエラーが発生する
-
[解決済み] MongoDB でコレクションを日付順に並べるには?
-
[解決済み] Yarn にパッケージを強制的に再インストールさせるにはどうしたらいいですか?
-
[解決済み] express は `body-parser deprecated undefined extended` としてエラーを投げます。
-
[解決済み] エラーです。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりません。
-
[解決済み] 正規表現で特定の単語を否定する方法は?重複