我已阅读
但我无法获得以下设置的解决方案:
在用户尝试通过exampleapp.user1.com登录之前,一切正常。 SaaS应用程序无法正确设置会话域,因为它在应用启动时已配置为静态。
config.action_controller.session = {
:session_key => '_example_session',
:domain => ".example.com",
:secret => 'abc'
}
请求失败并显示ActionController::InvalidAuthenticityToken
。这是正确的,因为域名已从.example.com
更改为exampleapp.user1.com
。
如何在运行时更改域配置?我知道“传入”域exampleapp.user1.com
属于user1
,所以我想在控制器中执行类似的操作:
session :domain => 'exampleapp.user1.com'
或者我是否可以始终在当前请求域上设置会话域? 我知道有可能以某种方式,因为有些应用程序提供了这种功能。
提前致谢!
答案 0 :(得分:1)
:domain => :cookie配置中的所有内容都可以正常工作。
对于CNAME'd域,它将设置为.theirdomain.com
对于您的自定义子域名,它将转到.yourdomain.com,这可能会也可能不会很好
答案 1 :(得分:0)
只是不要设置域,因为显然您不需要在example.com和user1.example.com之间共享会话cookie。通过不指定域,只需为当前请求域设置默认cookie行为。