如何阻止路由到公用文件夹中的页面

时间:2015-05-29 20:12:57

标签: node.js routing public-folders

我正在尝试设计我的NodeJS应用程序,但我有些困惑。

在我的应用程序中,我计划将所有前端材料放在文件夹/public中然后放行

app.use(express.static(__dirname + '/public'));

在我的app.js文件中。

所以有了这个,用户就可以转到thesite.com/gallery/stuff了,因为gallery文件夹在/public中,所以它会有效。

但是如果我不希望用户能够访问此区域该怎么办?例如,我如何拦截他的请求并确保他已登录?有没有办法让公共文件夹的某些部分不那么公开?

1 个答案:

答案 0 :(得分:0)

你可以把路由器放在它前面

app.all('/gallery/*', function(req, res, next){
    if(!req.user) next(new Error('You shall not pass!'));
    else next();
});
app.use(express.static(__dirname + '/public'));