轨道力SSL只指定控制器[重复](Rails force ssl only on specified

2019-07-19 06:17发布

这个问题已经在这里有一个答案:

  • 在轨道部分SSL 3个回答

我有供应SSL证书https://secure.mydomain.com 。 我想只在特定的控制器,而不是在我的整个应用程序使用SSL。 我在网上看了看,似乎无法找到如何启用指定控制器SSL完整,准确的教程。

我知道我可以使用下面的配置SSL,但因为它使SSL站点宽它不会成为我的目的

config.force_ssl = true

我怎么能告诉轨到一个特定的控制器上只使用SSL而不是我的整个应用程序?

Answer 1:

您可以在routes.rb中的限制做到这一点:

resource :account, :constraints => { :protocol => "https", :subdomain => "secure" }

另外,如果你有很多安全的路线,你要干的事情,你可以创建一个scope为您的安全路线:

scope :constraints => { :protocol => "https", :subdomain => "secure" } do

  ...[secure routes]...

end


文章来源: Rails force ssl only on specified controllers [duplicate]