在express js节点中保护资产文件夹



我有一个assets文件夹,其中有图像,并用node-express js渲染它们。有没有一种方法可以保护资产,让用户只访问有权访问的资产?

const app = express();
app.use('/assets', express.static('assets'));
app.listen(port, () => {
console.log(`Server runnning on port ${port}`);
});

基本上,您正在寻找负责检查访问的授权中间件。

您可以使用passport-js或任何其他库,也可以创建自己的库。

由于您正在使用Express进行编码,因此此代码段可能很有用。

requireLogin = (req, res, next) => {
if (!req.user) {
return res.status(401).send({ error: 'You must login!' });
}
next();  
}; 
app.get('/assets',requireLogin , express.static('assets'));

Express在这里有非常好的中间件文档。

最新更新