tsc*_*ela 5 authentication nginx restriction node.js single-page-application
我计划开发一个公共区域和私人区域的网站.该站点的两个区域都将是使用AngularJS实现的单独的单页应用程序.我使用Node.js为前端创建REST Web服务.
私有区域只能通过身份验证(用户名/密码)访问.此外,还需要进行身份验证以调用REST API调用.
公共区域的文件将存储在子文件夹/ public中,以及子文件夹/ private中的私有文件夹的文件.我使用nginx为公共区域提供静态文件.我还想用nginx提供私有区域的静态文件.
如何阻止用户直接访问文件,如www.example.com/private/js/app.js
只有经过身份验证的用户才能打开/ private文件夹中的文件.
不幸的是,如果您使用 nginx 来服务器静态私有文件,则您只能使用非常基本的身份验证方法,例如:
但是,如果您的系统将用户存储在数据库中,则 nginx 不知道如何对用户进行身份验证。此外,如果在你的系统中,身份验证必须与授权相结合,即 user1 只能访问/private/user1/kittenpicture.jpg
user2 /private/user2/nakedpics.jpg
,nginx 也不会帮助你,你别无选择,只能从 nodejs 提供你的私有文件(从那时起你就可以将各种身份验证/授权中间件与服务静态文件的中间件相结合。