可以在不同基础域上的Rails应用程序和引擎共享会话吗?

表观基因

我有一个Rails应用托管在domain.com上,并且使用此路由配置将引擎安装在另一个域上

Rails.application.routes.draw do
  mount Some::Engine => '/', as: 'some', constraints: { domain: 'other_domain.com' }
end

有什么办法,无论多么hacky,都可以在两个域上访问相同的会话?

张国荣

您遇到的第一个问题是,会话基于Cookie,并且在向otherdomain.com发出请求时,您的浏览器不会发送domain.com设置的cookie。

如果您切换到会话存储,其中会话cookie仅标识某些数据存储中的一行(例如,memcached,redis等),那么您只需要共享此会话ID。

我自己还没有完成此操作,但是我看到了以下实现。

  1. 用户进入example.com,没有Cookie,它们被重定向到master-domain.com
  2. Master-domain.com设置会话cookie(例如,值为abc-123)并重定向到example.com/?session_id=abc-123
  3. example.com将会话cookie设置为相同的值(以避免将来的请求执行步骤1和2),并将abc-123的会话数据存储在某些数据存储区中
  4. 稍后,用户将进入没有cookie的other-domain.com。与1中一样,它们被重定向。
  5. 主域读取其现有的会话cookie(值abc-123)并重定向到other-domain.com/?session_id=abc-123
  6. Other-domain.com重复从3开始的步骤。

现在,您所有的域都将具有相同会话ID的会话数据存储在同一数据存储区中:您正在共享会话

我倾向于说,如果您确实需要共享会话信息(例如,与身份无关),那么您可能会为自己制造问题,但是您确实说过对任何事情都持开放态度。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

可以在不同基础域上的Rails应用程序和引擎共享会话吗?

来自分类Dev

在具有不同子域的两个Rails 4应用程序之间共享会话

来自分类Dev

是否可以在同一域上运行Rails应用程序和React应用程序?

来自分类Dev

在不同服务器上的ReactJS和WIX Web应用程序之间共享会话

来自分类Dev

Facebook在与您的应用程序配置不同的域上共享?

来自分类Dev

在两个不同版本的Rails应用程序之间共享Devise会话cookie

来自分类Dev

iOS中使用Quickblox的两个不同的应用程序可以共享聊天/对话吗?

来自分类Dev

同一应用程序的不同子域可以阻止XSS之类的恶意攻击吗?

来自分类Dev

由于最新的更新提供了不同的Ubuntu和SUSE应用程序,因此可以在Windows的Ubuntu上卸载Bash吗?

来自分类Dev

我可以在不同的应用程序上使用以太网和Wi-Fi吗?

来自分类Dev

Web应用程序和数据库可以托管在不同的服务器(远程和本地)上吗?

来自分类Dev

无法在不同域上的窗口身份验证在不同域和mvc应用程序上设置ADFS

来自分类Dev

我可以通过应用程序组共享文件/数据,但可以在不同的开发人员帐户应用程序中共享文件/数据吗?

来自分类Dev

团队成员在共享域上创建应用程序

来自分类Dev

多个Android应用程序可以共享一个进程和应用程序上下文吗?

来自分类Dev

iOS共享表可以识别设备上的所有社交应用程序吗?

来自分类Dev

在应用程序引擎上使用SSL和自定义域路由到特定版本的网址

来自分类Dev

.NET 框架应用程序和 .NET Core Razor 页面应用程序之间的共享会话

来自分类Dev

Titanium应用程序可以访问ios共享功能吗?

来自分类Dev

在不同应用程序上的heroku子域?

来自分类Dev

我可以通过应用组共享文件/数据,但可以在不同的开发人员帐户应用程序中共享文件/数据吗?

来自分类Dev

在 Symfony 应用程序之间共享会话

来自分类Dev

我可以在cordova中为iPad和iPhone(通用)应用程序设置不同的方向吗?

来自分类Dev

我可以在不同的应用程序中运行两个键盘和鼠标吗?

来自分类Dev

我可以在不同的应用程序中运行两个键盘和鼠标吗?

来自分类Dev

是否可以在与Rails应用程序不同的数据库上配置(思考)Sphinx?

来自分类Dev

Rails单独的应用程序或引擎

来自分类Dev

可以将带有ActionCable的Rails 5应用程序部署在Windows上吗?

来自分类Dev

我可以在Google AppEnging固定环境上运行Rails应用程序吗?

Related 相关文章

  1. 1

    可以在不同基础域上的Rails应用程序和引擎共享会话吗?

  2. 2

    在具有不同子域的两个Rails 4应用程序之间共享会话

  3. 3

    是否可以在同一域上运行Rails应用程序和React应用程序?

  4. 4

    在不同服务器上的ReactJS和WIX Web应用程序之间共享会话

  5. 5

    Facebook在与您的应用程序配置不同的域上共享?

  6. 6

    在两个不同版本的Rails应用程序之间共享Devise会话cookie

  7. 7

    iOS中使用Quickblox的两个不同的应用程序可以共享聊天/对话吗?

  8. 8

    同一应用程序的不同子域可以阻止XSS之类的恶意攻击吗?

  9. 9

    由于最新的更新提供了不同的Ubuntu和SUSE应用程序,因此可以在Windows的Ubuntu上卸载Bash吗?

  10. 10

    我可以在不同的应用程序上使用以太网和Wi-Fi吗?

  11. 11

    Web应用程序和数据库可以托管在不同的服务器(远程和本地)上吗?

  12. 12

    无法在不同域上的窗口身份验证在不同域和mvc应用程序上设置ADFS

  13. 13

    我可以通过应用程序组共享文件/数据,但可以在不同的开发人员帐户应用程序中共享文件/数据吗?

  14. 14

    团队成员在共享域上创建应用程序

  15. 15

    多个Android应用程序可以共享一个进程和应用程序上下文吗?

  16. 16

    iOS共享表可以识别设备上的所有社交应用程序吗?

  17. 17

    在应用程序引擎上使用SSL和自定义域路由到特定版本的网址

  18. 18

    .NET 框架应用程序和 .NET Core Razor 页面应用程序之间的共享会话

  19. 19

    Titanium应用程序可以访问ios共享功能吗?

  20. 20

    在不同应用程序上的heroku子域?

  21. 21

    我可以通过应用组共享文件/数据,但可以在不同的开发人员帐户应用程序中共享文件/数据吗?

  22. 22

    在 Symfony 应用程序之间共享会话

  23. 23

    我可以在cordova中为iPad和iPhone(通用)应用程序设置不同的方向吗?

  24. 24

    我可以在不同的应用程序中运行两个键盘和鼠标吗?

  25. 25

    我可以在不同的应用程序中运行两个键盘和鼠标吗?

  26. 26

    是否可以在与Rails应用程序不同的数据库上配置(思考)Sphinx?

  27. 27

    Rails单独的应用程序或引擎

  28. 28

    可以将带有ActionCable的Rails 5应用程序部署在Windows上吗?

  29. 29

    我可以在Google AppEnging固定环境上运行Rails应用程序吗?

热门标签

归档