RailsでSubdomainFuとRestfulAuthenticationを組み合わせて使おうとしたら、ログイン後のリダイレクトの処理(redirect_back_or_default)でサブドメインが渡らないことに気がつきました。(あたりまえですが・・・。)

とりあえずの処置として、AuthenticatedSystemのstore_locationを書き直すことにしました。RestfulAuthenticationでは、ユーザーが認証が必要なページにアクセスする際にstore_locationを呼び出して、ログイン処理後のリダイレクト先を保存するので、このタイミングにサブドメインも(というかURL丸ごと)保存することにしました。

def store_location
  session[:return_to] = request.protocol + request.env['HTTP_HOST'] + request.request_uri
end

def redirect_back_or_default(default)
  redirect_to(session[:return_to] || default)
  session[:return_to] = nil
end



意外とサブドメインを扱うのは面倒です。。。

Posted by あかさた
最近のエントリ
最近の読書メモ