2

目前我尝试建立一个有公共和私人区域的网站。我使用 Node.js 服务器端。Node.js 主要通过 REST Web Services 为前端提供数据并处理登录。所有数据都将存储在 MongoDB 中。前端是用 AngularJS 构建的。目前我将 nginx 用于静态文件,只有 REST 调用 (/api/...) 和登录 (/login) 将传递给 node.js。

这是我当前的文件结构:

www
|-- public
|     |-- css
|     |-- img
|     |-- js
|     |   +-- templates
|     |         +-- login.html 
|     |
|     +-- index.html
|
|-- private
|     |-- css
|     |-- img
|     |-- js
|     |   +-- templates
|     |         +-- someprivatestuff.html 
|     |
|     +-- index.html

在 Node.js 中,我使用护照进行身份验证。

app.post('/login', passport.authenticate('local'), function(req, res) {
    res.redirect('http://localhost/private');
});

如果用户认证成功,他将被重定向到 /private。问题是上面的文件结构将由 nginx 提供服务。因为它们是静态文件。如何通过键入 url /private (或该目录中的其他文件)来防止人们直接访问私人区域。我是否也应该对静态文件使用 node.js 来处理对文件的访问?但是我在阅读Node.js之前使用nginx是一种常用的方法。

4

1 回答 1

0

如果我理解正确,这就是您要找的东西?

http://wiki.nginx.org/XSendfile

于 2013-04-23T23:11:31.630 回答