Express:是否可以绕过静态文件的会话?

时间:2012-12-09 19:53:22

标签: javascript node.js express passport.js

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

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

(在生产环境中,我无法使用cookie作为资产)

2 个答案:

答案 0 :(得分:12)

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

例如:

app.use(express.static(__dirname + "/public"));
// any other middleware
app.use(passport()); // or whatever your passport config looks like

答案 1 :(得分:1)

您可以从另一个根本不存储任何cookie的域提供静态文件。这也意味着在提供这些文件之前,您无法进行任何(安全)检查。

这种技术被各种网站使用,例如StackOverflow,Facebook和LinkedIn。