0

Rails 3.1では、認証時にforce_sslを使用しています。これは、リダイレクトURIがクエリ文字列として追加されている場合に問題を引き起こすようです。これはhttp->httpsプロトコルスイッチで削除されるためです。httpsプロトコルで開始した場合、クエリ文字列はそのまま残り、リダイレクトは問題なく行われます。

force_sslプロトコルスイッチを介してクエリ文字列を保持する方法に関するアイデアはありますか?

4

1 に答える 1

4

Railsの最新バージョンでは、https://github.com/rmm5t/rails/commit/391e6a47dbd46fdce0a472819e8d27792cc91984が修正されています。

Rails 3.1を使用する必要がある場合は、フィルターの前に独自のforcesslを作成する必要があります

before_filter :check_ssl

def check_ssl
  redirect_to({:protocol => 'https'}.merge(params), :flash => flash) unless request.ssl?
end
于 2012-05-02T14:05:51.827 に答える