Javascript Passport.js express视图
我正在使用passport和一些静态的.html文件。我想将它们作为快速视图或静态文件包含。现在,我希望一些.html文件(如login.html)可供所有人使用,但其他视图文件(如secret.html)应需要passport。 我知道,你可以用Javascript Passport.js express视图,javascript,node.js,passport.js,Javascript,Node.js,Passport.js,我正在使用passport和一些静态的.html文件。我想将它们作为快速视图或静态文件包含。现在,我希望一些.html文件(如login.html)可供所有人使用,但其他视图文件(如secret.html)应需要passport。 我知道,你可以用 app.get('somePath',ensureAuthenticated,函数(req,res,next){}用于路由,但我希望它用于静态文件 如何以非黑客方式执行此操作?如果所有“安全”文件共享一个不同的URL前缀,例如/public/secu
app.get('somePath',ensureAuthenticated,函数(req,res,next){}
用于路由,但我希望它用于静态文件
如何以非黑客方式执行此操作?如果所有“安全”文件共享一个不同的URL前缀,例如/public/secure
,则可以使用以下路径确保重新验证
:
app.use('/public/secure', ensureAuthenticated);
app.use('/public', express.static(__dirname + '/public'));
否则,不会提供很多控制访问的选项。在大多数情况下,它假定从给定路径到它的所有可用文件都是“公共”的 但是,它通常拒绝发送隐藏文件,遵循
前缀的*nix标准:
~/path/to/.secret.html
然后,为了实际提供服务,您可以按照您建议的路线,附上middlware:
app.get('/path/to/secret.html', ensureAuthenticated, function (req, res) {
res.sendfile(__dirname + '/path/to/.secret.html');
});
和,您可能想考虑把它从您的代码> STATIC()/代码>目录下,
如果所有的“安全”文件共享一个不同的URL前缀,例如<代码> /Pult/Suths<代码>,您可以使用这个路径< <代码> EnSurecRealAdvestux/<代码>:app.use('/public/secure', ensureAuthenticated);
app.use('/public', express.static(__dirname + '/public'));
否则,不会提供很多控制访问的选项。在大多数情况下,它假定从给定路径到它的所有可用文件都是“公共”的 但是,它通常拒绝发送隐藏文件,遵循
前缀的*nix标准:
~/path/to/.secret.html
然后,为了实际提供服务,您可以按照您建议的路线,附上middlware:
app.get('/path/to/secret.html', ensureAuthenticated, function (req, res) {
res.sendfile(__dirname + '/path/to/.secret.html');
});
和,你可能想考虑把它从你的代码> STATIC()中移出。directory,
谢谢你的回答,但是你的第二个想法不起作用。lib-express用来发送文件的文件找不到点文件。我认为这是有意的。谢谢你的回答,但是你的第二个想法不起作用。lib-express用来发送文件的文件找不到点文件。我认为这是有意的。