Javascript Node.js Express.js机密静态文件
我正在node express中为我的网站构建一个单页管理面板 我已经决定使用一个管理视图文件,并通过jQuery或AJAX或类似的方式(尚未决定)将部分html加载到其中 我必须从静态文件文件夹中提供这些文件(因为我必须在客户端加载它们),但这里的问题是,这些文件现在对每个人都可用(还有.css.js文件等等) 有没有可能对用户隐藏这些文件?或者如何隐藏某些文件或在客户端加载非公共文件? 我真的不想在我的管理视图文件中插入所有的.css和.js代码 解决方案 在此处找到解决方案:Javascript Node.js Express.js机密静态文件,javascript,jquery,node.js,express,Javascript,Jquery,Node.js,Express,我正在node express中为我的网站构建一个单页管理面板 我已经决定使用一个管理视图文件,并通过jQuery或AJAX或类似的方式(尚未决定)将部分html加载到其中 我必须从静态文件文件夹中提供这些文件(因为我必须在客户端加载它们),但这里的问题是,这些文件现在对每个人都可用(还有.css.js文件等等) 有没有可能对用户隐藏这些文件?或者如何隐藏某些文件或在客户端加载非公共文件? 我真的不想在我的管理视图文件中插入所有的.css和.js代码 解决方案 在此处找到解决方案: 很抱歉重复,
很抱歉重复,我以前没有找到它。您应该使用某种身份验证,如passport,中间件可能有助于保护您的静态文件:
app.use('/admin', function(req,res,next){
if(req.user){
return express.static(path.join(__dirname, 'public'));
} else {
res.render(403, 'login', {message:'Please, login!'});
}
});
似乎您需要使用某种授权来处理哪些文件应该提供给允许查看它的人。请看一看处理授权或授权的。注意:授权与身份验证不同。让我们知道它是否有帮助,是否适合您的需要。@BrunoGrisoliaCasarotti感谢您的回答。我在另一个问题中找到了解决方案,也感谢您分享有趣的软件包。谢谢您的回答。这对我来说似乎是一个有效而简单的解决方法。不幸的是,express.static函数在任何其他函数中都不适用于我。