7

Express + Mongoose + Passport + Connect-mongoの非常に単純なセットアップを使用しており、すべてが正常に機能します。私を困惑させている唯一のことは、passport.unserializeUser静的ファイルに対しても呼び出されるのを見ることができるということです。これは、アプリケーションの観点からは、まったく無意味です。

ある種の認証の下で静的ファイルを提供したい場合もあることは理解できますが、静的ファイルを提供している場合、セッションミドルウェア全体を「スキップ」するにはどうすればよいのでしょうか。

(本番環境では、アセットにCookieを使用できませんでした)

4

2 に答える 2

13

Middleware is called upon in the order it was added. Just move the static middleware to be very early in your app.js.

For example:

app.use(express.static(__dirname + "/public"));
// any other middleware
app.use(passport()); // or whatever your passport config looks like
于 2012-12-10T01:51:24.477 に答える
1

Cookie をまったく保存しない別のドメインから静的ファイルを提供できます。つまり、これらのファイルを提供する前に (セキュリティ) チェックを行うことはできません。

この手法は、StackOverflow、Facebook、LinkedIn などのさまざまなサイトで使用されています。

于 2012-12-09T20:24:44.843 に答える