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

时间:2012-02-14 12:57:22

标签: node.js azure connect everyauth

我开始在azure上使用node.js开发一个应用程序。我正在使用everyauth提供身份验证,因为我想支持许多不同的身份验证方法。我打算部署到Azure。我遇到的潜在问题是everyauth需要connect.session助手。运行多个实例时,这是否适用于azure?或者我是否需要替代会话提供者?

2 个答案:

答案 0 :(得分:1)

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

everyauth

查看everyauth的文档,有一种针对Windows Azure ACS进行身份验证的方法。请参阅readme for more information中标题为Setting up Windows Azure Access Control Service (ACS) Auth的部分。没有任何关于它本身不适用于Azure本身的说明,因此我可以推断出你可以在Azure上使用它。

连接-天青

还有一个名为connect-azure的项目,似乎正在使用connect.session,所以我再次推断它可以在Azure上运行。

联系Azure支持

如果您已经是客户,可以contact support for help

试试看

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

答案 1 :(得分:0)

这是前一段时间的问题,但我想我还是会尝试一个答案。似乎connect-session依赖于cookie来维护会话。 Azure具有不同的负载平衡策略,具体取决于您使用的内容:

  • WebRole / WorkerRole - LB没有任何亲和力,因此来自客户端的请求最终可能会出现在不同的后端实例中。这将扼杀任何会话管理连接正在做的事情。这是分布式云架构的副作用:您不希望任何后端节点成为真实的来源,因为它可能会崩溃。因此,您需要做的是弄清楚如何外化连接的cookie存储并让所有后端共享它。这样,无论后端收到请求,它都会知道会话。

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