以前,我一直在使用 ssl_requirement让我们细粒度地控制哪些页面是通过 ssl 提供的,哪些是通过纯 http 提供的。
根据 ssl_requirement 自己的 wiki,它已被 rails 3.1 的 Force SSL取代 .然而,情况似乎并非如此。 Force SSL 似乎没有公开相反方向的选项,没有办法强制通过常规 http 发送页面。
Rails 3.1 强制页面以纯 http 格式显示的正确方法是什么? Force SSL 真的会取代 ssl_requirement 吗?
最佳答案
Justice 说的。有些人强烈希望使用 SSL 浏览所有内容。窥探非 SSL session 现在变得微不足道,因此您应该竭尽全力为想要使用它的人提供便利。
但是。
使用 before_filter 应该很容易完成:
class ApplicationController < ActionController::Base
before_filter do
if request.ssl? && Rails.env.production?
redirect_to :protocol => 'http://', :status => :moved_permanently
end
end
end
关于ruby-on-rails - Rails 3.1 强制常规 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7478911/