我有一个运行Express的节点应用程序作为Web应用程序框架,我使用Stormpath进行身份验证。
Storm path提供了使用多个中间件保护路由的能力, 例如:
router.get('/user_data_api', stormpath.apiAuthenticationRequired, function(req, res) {
res.send('hello you are authenticated!");
});
});
我想要做的是将authenticationRequired作为中间件添加到express的静态定义中:
app.use(express.static(__dirname + '/public'));
这可以通过添加到静态资产的路由来实现,所以如果我有一个文件./public/index.html我可以像这样设置路由:
app.use('/secured-assets',
stormpath.auth_fn, express.static(__dirname + '/public'));
但是文件将在
中www.mydomain.com/secured-assets/index.html
我想要它
www.mydomain.com/index.html
帮助?
答案 0 :(得分:3)
只做:
app.use(stormpath.auth_fn, express.static(__dirname + '/public'));
它会将stormpath.auth_fn
和express.static(__dirname + '/public')
个中间件添加到/
路径,因此会保护每条路径。
答案 1 :(得分:0)
这适用于Express ^ 4.13.4和Stormpath ^ 3.1.2
app.use(stormpath.loginRequired, express.static(__dirname + '/public'));