Devise + Subdomain - Redirect user for sign_in

Я использую devise gem в приложении rails с несколькими поддоменами. Каждый поддомен обрабатывается соответствующим контроллером, который выглядит следующим образом:

class Subdomain1Controller < ApplicationController
  before_filter :authenticate_user!
  def index
  end
end

При вышеуказанной реализации контроллера, Devise всегда сохраняет поддомен при перенаправлении пользователя на страницу входа. В приведенном выше случае Devise перенаправляет пользователя на http://subdomain1.acmesite/users/sign_in вместо общего URL sign_in.

Это приводит к тому, что у каждого субдомена есть несколько адресов входа в систему.

http://subdomain1.acmesite/users/sign_in
http://subdomain2.acmesite/users/sign_in
http://subdomain3.acmesite/users/sign_in

Мне интересно, возможно ли переопределить метод devise, чтобы исключить часть поддомена из url и при этом сохранить информацию о предыдущей странице url. Более того, я хочу, чтобы Devise перенаправлял пользователя на определенный Url (например: http://acmesite/users/sign_in) независимо от поддомена и после успешной аутентификации Devise должен возвращать пользователя обратно на вызывающий поддомен+страницу.

7
задан Firoz Ansari 20 December 2011 в 04:29
поделиться