6

我有一台服务器,它通过中间件路由几乎所有内容,以检查您是否已登录,但这仅适用于路由。我还希望它可以处理public目录中的静态文件。我该怎么做呢?

更新:最好不要担心保护/public文件夹中的内容,因为 express 提供了一项res.download(...)功能。Express.JS GitHub 页面上的示例

4

1 回答 1

5

澄清静态文件也是服务器通过使用express.static中间件表达。理论上,您可以在它之前包含中间件来处理安全性。除了静态中间件的想法之外,您只能使文件夹从publicpublic开始静态可用。

你可以在这里找到定义的静态。您可以重写它以允许您将中间件注入其中。

或者您可以自己编写一个简单的静态文件路由器。

您是否尝试过在静态中间件之前将自己的安全日志注入中间件。

app.use(security);
app.use(express.static(dirname + '/public'));
于 2011-04-16T00:49:22.863 回答