我有一份ssl证书,用于https://secure.mydomain.com。我想只在某些控制器上使用ssl,而不是在整个应用程序中使用ssl。我已经在线查看,似乎无法找到有关如何为指定控制器启用ssl的完整而准确的教程。
我知道我可以使用下面的配置ssl,但它不能为我提供服务,因为它支持ssl网站范围
config.force_ssl = true
如何告诉rails只在特定控制器上使用ssl而不是整个应用程序?
答案 0 :(得分:8)
您可以使用routes.rb中的约束来执行此操作:
resource :account, :constraints => { :protocol => "https", :subdomain => "secure" }
此外,如果您有许多安全路线,并且想要干涸,可以为您的安全路线创建scope
:
scope :constraints => { :protocol => "https", :subdomain => "secure" } do
...[secure routes]...
end