gpt4 book ai didi

node.js - 用于提供静态文件的快速基本身份验证

转载 作者:搜寻专家 更新时间:2023-11-01 00:18:01 24 4
gpt4 key购买 nike

我正在使用 Express 4 框架,我需要基本身份验证来提供静态文件。这就是我现在拥有的:

app.use('/files', auth);
app.use('/files', express.static(path.join(__dirname, 'files')));

如果我尝试访问/files,这会很好用,但如果我写 URL ../files/somefile.txt,则不需要身份验证,我就可以访问该文件。我希望"file"目录下的所有文件只能由经过身份验证的用户访问。

最佳答案

这是一个旧线程,但我刚遇到同样的问题。我正在使用 http-auth 包来限制对我的公共(public)目录中文件夹的访问。

中间件在请求 protected 目录时工作正常(get/protectedFolder 显示身份验证提示),但在直接请求文件时它会跳过文件(get/protectedFolder/file.txt 显示文件内容。文本文件)

我通过切换中间件的顺序解决了这个问题,我最初有

  app.use('/protected', express.static(path.join(__dirname, '../../../protected')));
app.use('/protected', auth.connect(basic), (req, res, next) => {
next();
});

但正确的顺序应该是:

  app.use('/protected', auth.connect(basic), (req, res, next) => {
next();
});
app.use('/protected', express.static(path.join(__dirname, '../../../protected')));

我希望这对某人有帮助。

关于node.js - 用于提供静态文件的快速基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29003790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com