我正在使用 Express + Mongoose + Passport + Connect-mongo 的非常简单的设置,一切正常。唯一让我感到困惑的是,我passport.unserializeUser
什至可以看到静态文件的调用,从我的应用程序的角度来看,这绝对没有意义。
我可以理解在某些情况下您也希望在某种授权下提供静态文件,但我想知道如何“跳过”整个会话中间件,以防我提供静态文件。
(在生产环境中,我无法将 cookie 用于资产)
我正在使用 Express + Mongoose + Passport + Connect-mongo 的非常简单的设置,一切正常。唯一让我感到困惑的是,我passport.unserializeUser
什至可以看到静态文件的调用,从我的应用程序的角度来看,这绝对没有意义。
我可以理解在某些情况下您也希望在某种授权下提供静态文件,但我想知道如何“跳过”整个会话中间件,以防我提供静态文件。
(在生产环境中,我无法将 cookie 用于资产)
中间件按照添加的顺序被调用。只需将静态中间件移动到您的app.js
.
例如:
app.use(express.static(__dirname + "/public"));
// any other middleware
app.use(passport()); // or whatever your passport config looks like
您可以从根本不存储任何 cookie 的另一个域提供静态文件。这也意味着您在提供这些文件之前不能进行任何(安全)检查。
这种技术被各种网站使用,例如 StackOverflow、Facebook 和 LinkedIn。