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。