アプリで条件付きで SSL にリダイレクトしています。I User モデルと Admin モデル、両方とも で構成されていdevise_forます。私はrails_adminAdmin モデルと、Users モデル用の独自の CMS を使用しています。
には、 SSL if andにリダイレクトapplication_controllerする before filterがあります。check_ssluser_signed_in? || controller_name == 'registrations' || controller_name == 'sessions'!request.ssl?
ログを見てロジックを確認しました。
問題
- /admin にアクセスして RailsAdmin インターフェイスを取得しようとすると、ログインしていないことが検出され、正しくリダイレクトされ
/admins/sign_inます。 - SSL
before_filterが実行され、現在 SSL ではないことがわかります。私のログ:ssl? is false and fullpath is /admins/sign_inSSLを使用する必要がありますhttps://foo.com/login にリダイレクト SSL?true で、フルパスは /login です
/loginUser私のモデルではなく、私のモデルのログイン パスですAdmin。
リダイレクト コードは文字通り次のとおり
redirect_to({:protocol => 'https'}, :flash => flash)
です。