我有一个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在这里有非常好的中间件文档。