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

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

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

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

中间件按照添加的顺序被调用。 只要把你的app.js的静态中间件放在很早的时候就可以了。

例如:

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

你可以从另一个不存储任何cookies的域中提供静态文件。 这也意味着您在提供这些文件之前不能进行任何(安全)检查。

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