在 Rails 3.1 中,我在进行身份验证时使用 force_ssl。当我将重定向 uri 作为查询字符串附加时,这似乎会导致问题,因为它在 http -> https 协议开关中被剥离。如果我从 https 协议开始,查询字符串将保持不变,并且重定向会正常进行。
关于如何通过 force_ssl 协议开关保留查询字符串的任何想法?
在 Rails 3.1 中,我在进行身份验证时使用 force_ssl。当我将重定向 uri 作为查询字符串附加时,这似乎会导致问题,因为它在 http -> https 协议开关中被剥离。如果我从 https 协议开始,查询字符串将保持不变,并且重定向会正常进行。
关于如何通过 force_ssl 协议开关保留查询字符串的任何想法?
最新版本的 rails 已修复https://github.com/rmm5t/rails/commit/391e6a47dbd46fdce0a472819e8d27792cc91984
如果您必须使用 Rails 3.1,则必须在过滤器之前创建自己的 force ssl
before_filter :check_ssl
def check_ssl
redirect_to({:protocol => 'https'}.merge(params), :flash => flash) unless request.ssl?
end