首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Passport.js表示视图

Passport.js表示视图
EN

Stack Overflow用户
提问于 2013-09-18 07:21:56
回答 1查看 226关注 0票数 1

我使用的是护照和一些静态的.html文件。我想将它们作为表示视图或静态文件包括在内。现在,我希望一些.html文件(如login.html )可供每个人使用,但其他视图文件(如secret.html )则需要护照。我知道,您可以将app.get('somePath', ensureAuthenticated, function (req, res, next) {}用于路由,但我希望它用于静态文件

怎么用一种无伤大雅的方式来做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-18 07:39:32

如果所有“安全”文件共享一个不同的URL前缀(如/public/secure ),则可以使用以下路径创建use() ensureAuthenticated

代码语言:javascript
复制
app.use('/public/secure', ensureAuthenticated);
app.use('/public', express.static(__dirname + '/public'));

否则,中间件不提供许多控制访问的选项。在大多数情况下,它假设提供给它的路径中的所有可用文件都是“公共的”。

不过,它通常拒绝按照.前缀的*nix标准发送隐藏文件:

代码语言:javascript
复制
~/path/to/.secret.html

然后,为了实际服务,您可以按照您建议的路线使用发送文件,并附上中间件:

代码语言:javascript
复制
app.get('/path/to/secret.html', ensureAuthenticated, function (req, res) {
    res.sendfile(__dirname + '/path/to/.secret.html');
});

而且,您可能想考虑将它移出您的static()目录,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18866128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档