如何阻止路由到 public 文件夹中的页面
How to block routing to a page in the public folder
我正在尝试设计我的 NodeJS 应用程序,但有些事情让我感到困惑。
在我的应用程序中,我计划将所有前端 material 放在文件夹 /public
中,然后将行
app.use(express.static(__dirname + '/public'));
在我的 app.js
文件中。
因此,有了这个,用户将能够转到 thesite.com/gallery/stuff
并且它会起作用,因为 gallery
文件夹位于 /public
.
但是如果我不希望用户能够访问这个区域怎么办?例如,我如何拦截他的请求并确保他已登录?有没有办法让 public 文件夹的某些部分不那么 public?
你可以在它前面放一个路由器
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'));
我正在尝试设计我的 NodeJS 应用程序,但有些事情让我感到困惑。
在我的应用程序中,我计划将所有前端 material 放在文件夹 /public
中,然后将行
app.use(express.static(__dirname + '/public'));
在我的 app.js
文件中。
因此,有了这个,用户将能够转到 thesite.com/gallery/stuff
并且它会起作用,因为 gallery
文件夹位于 /public
.
但是如果我不希望用户能够访问这个区域怎么办?例如,我如何拦截他的请求并确保他已登录?有没有办法让 public 文件夹的某些部分不那么 public?
你可以在它前面放一个路由器
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'));