node.js - 将 Node 护照与子域一起使用

标签 node.js redis express

我有一个使用 express connect-redis 来存储 session 的 node.js 应用程序。我还在使用 vhost 作为密码保护的用户应用程序:

app.use(express.vhost('users.mydomain.com', require('./users/app')));

这工作正常,但我想查看用户在访问 www.mydomain.com 时是否登录。我尝试将其添加到 session() 中:

cookie: { domain:'.yourdomain.com'}

当我这样做时,当我在用户和 www 之间移动时,它只会破坏 session ,但不会共享 session 。我不知道问题出在哪里。

编辑:我发现除非我在那个虚拟主机上使用护照,否则 session 在虚拟主机之间存在。

最佳答案

听起来您有两个应用程序,它们有自己的域。一种可能的解决方案是确保两个应用程序共享相同的 session_save_path 并确保您在从一个应用程序移动到另一个应用程序时通过 session 。

希望对你有帮助

关于node.js - 将 Node 护照与子域一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10740057/

相关文章:

redis - 为什么从redis获取字符串,会漏掉空格

redis - 如何为redis5.0.5集群设置最大内存

redis - 如何从一组停止,并使用lua添加到另一组

javascript - 使用 expressJS 将数据插入到 MongoDB

javascript - Restful API typescript 和 promise

node.js - Socket.io、Express 4 和带有 SSL *AND CLUSTER* 的 Nginx 抛出 400(错误请求)?

javascript - 使用bulkDelete时出现 promise 拒绝错误

node.js - 在路由文件之外使用 res.send()

node.js - 请求事件 - http.createServer(requestListener) 中的 requestListener 是否需要是具有两个参数(请求、响应)的函数?

node.js - 检查 Azure 表存储中是否存在实体