Rails:使用rails的Session Cross Domain

时间:2014-05-30 11:42:28

标签: ruby-on-rails devise cross-domain

我面前是一些残暴的人。我尝试使Devise Session跨域。

首先我在session_store.rb中设置这一行

  

MyApp :: Application.config.session_store:cookie_store,key:'_ myapp_session',domain:“myapp.fr”

但那没用。其次,我将这些行放在环境/ .rb

  

Mtaville :: Application.config.session_store:cookie_store,key:'_ myapp_session',domain:“devloc.myapp.fr:3000”

出了什么问题?

编辑1

我有5个子域:admin,auto,immo,resto,actu 我有6种类型的用户(取决于主类用户) 管理员,代理,房地产经纪人,恢复者,作者,用户

所有这类用户都可以在前台连接(没有subdoamin)但是管理员只能在resto子域中登录admin子域,restorer ....

对于每个子域,我有一个控制器:

  

before_filter:authenticated_administrator!

     

before_filter:authenticated_restorer!

...

你知道如何管理会话吗?

2 个答案:

答案 0 :(得分:1)

看起来您正尝试跨子域访问。我们遇到了类似的问题,并使用this answer解决了问题:

MyApp::Application.config.session_store :cookie_store, key: '_myapp_session', domain: :all, tld_length: 2

如果您正在使用子域

,这应该适合您

答案 1 :(得分:0)

previous answer应该可以帮到你。在遇到类似问题之前,我发现Rack::Cors宝石非常有用。我认为在其他线程中也提到了gem,所以希望这会有所帮助。