7

我正在使用 Express + Mongoose + Passport + Connect-mongo 的非常简单的设置,一切正常。唯一让我感到困惑的是,我passport.unserializeUser什至可以看到静态文件的调用,从我的应用程序的角度来看,这绝对没有意义。

我可以理解在某些情况下您也希望在某种授权下提供静态文件,但我想知道如何“跳过”整个会话中间件,以防我提供静态文件。

(在生产环境中,我无法将 cookie 用于资产)

4

2 回答 2

13

中间件按照添加的顺序被调用。只需将静态中间件移动到您的app.js.

例如:

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 回答