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