我这里有个情况。 Rails应用程序使用两个不同的URL:http://test.com.au和http://test.co.uk。每个用户都通过各自的URL登录。但是,登录的控制器和形式是相同的。
通过相应的网址强制用户登录的最佳方法是什么?假设用户A来自澳大利亚,那么当他通过http://test.co.uk登录时,然后通过http://test.com.au重定向他。
试图在登录后更改用户的重定向路径
request.protocol + respective_host + member_dashboard
但是,当澳大利亚用户通过英国网站登录时,会提示他们再次通过英国网站登录。有没有一种方法可以允许澳大利亚用户通过英国网站登录,然后将其登陆到 http://test.com.au/dashboard ,而不会提示他通过澳大利亚网站再次登录?
此外,devise用于身份验证。
答案 0 :(得分:0)
如果您为两个域都设置了会话,我认为您的解决方案request.protocol + respective_host + member_dashboard
应该可以解决此问题。
请按照以下步骤操作,即为两个域设置会话。
您必须将config/initializers/session_store.rb
中的会话存储配置更改为关注
Rails.application.config.session_store :cookie_store, key: '_my_app_session', domain: :all, tld_length: 2
您可以在https://github.com/plataformatec/devise/wiki/How-To:-Use-subdomains处查看更多选项。
希望有帮助!