connect.session 是否可以与 node-azure 一起使用

问题描述 投票:0回答:2

我开始在azure 上使用node.js 开发一个应用程序。我使用 everyauth 来提供身份验证,因为我想支持许多不同的身份验证方法。我计划部署到 Azure。我遇到的潜在问题是 everyauth 需要 connect.session 帮助程序。运行多个实例时,这可以与 azure 一起使用吗?或者我需要替代会话提供商吗?

node.js azure node.js-connect everyauth
2个回答
1
投票

我从未在 Azure 上使用过 Node.js,但是:

每个权威

查看

everyauth
的文档,有一种针对 Windows Azure ACS 进行身份验证的方法。请参阅
自述文件中标题为 
Setting up Windows Azure Access Control Service (ACS) Auth 的部分了解更多信息。那里没有关于它不能在 Azure 本身上工作的注释,因此我可以推断您可以在 Azure 上使用它。

连接天蓝色

还有一个名为 connect-azure 的项目,它似乎正在使用

connect.session
,所以我再次从中推断它可以在 Azure 上运行。

联系 Azure 支持

如果您已经是客户,您可以联系支持人员寻求帮助

尝试看看

因此,如果您有 Azure 环境设置,我肯定会说值得尝试一下。


0
投票

这是不久前被问到的,但我想我无论如何都会尝试回答。看来connect-session依赖cookie来维持会话。根据您的使用情况,Azure 有不同的负载平衡策略:

  • WebRole/WorkerRole - LB 没有任何关联性,因此来自客户端的请求可能最终到达不同的后端实例。这将导致会话管理连接正在执行的任何操作都停止。这是分布式云架构的副作用:您不希望任何后端节点成为事实来源,因为它可能会宕机。因此,您需要做的是弄清楚如何外部化 connect 的 cookie 存储并让所有后端共享它。这样无论哪个后端收到请求,它都会知道会话。

  • 网站 - 在这种情况下,LB will 实际上会尝试将客户端连接固定到给定的后端实例,因此基于 cookie 的会话可以在不进行任何更改的情况下工作。如上所述,您正在牺牲故障转移。

© www.soinside.com 2019 - 2024. All rights reserved.