我有一个问题——我在这里找到了一些答案。基本上,我希望有一个 node.js 服务器应用程序为请求提供 json 文档。所有模板都将在客户端发生一些请求需要身份验证,但大多数不需要。我想尽可能地消除对框架(快速)会话管理的需要(如链接所推荐的那样)以提高性能,所以我想到了几个身份验证解决方案。
1) 编写自定义身份验证,将会话保存为文档,并在向需要身份验证的 node.js 服务器发出请求时检查它。将所有用户信息保存在 html5 存储或 cookie 中,以便 dom 用于模板。+ 作品 - 必须编写自定义安全性以避免在 express/node 中进行会话管理。
2) 有 2 个 node.js 实例。一个服务于公共领域的一切。一种仅用于安全请求。仍然保留会话中的所有用户信息。+ 简单,因为我们可以将会话管理推送到需要身份验证的请求的框架上 - 有 2 个节点实例。可能有一些不好的 DRY。
第二种选择合理吗?还是我缺少另一个选择。选项 1 是我的后备方案,因为当它已经内置在 express 中时,我宁愿不执行所有自定义编码。
编辑:
在这里留下一种可能性,我想我可以在资源请求上使用多个回调来允许拦截器类型模式在会话中验证用户。这回答了第一个问题。
来自 express 文档:还可以传递几个回调,这对于重用加载资源、执行验证等的中间件很有用。 app.get('/user/:id', user.load, function(){ // 。 .. })