4

我有一个服务于https://secure.mydomain.com的 ssl 证书。我只想在某些控制器上使用 ssl,而不是在整个应用程序中使用。我在网上查看过,似乎找不到关于如何为指定控制器启用 ssl 的完整且准确的教程。

我知道我可以使用下面的配置 ssl,但它并没有为我服务,因为它启用了 ssl 站点范围

config.force_ssl = true

我如何告诉 Rails 只在特定控制器上使用 ssl 而不是我的整个应用程序?

4

1 回答 1

9

您可以使用 routes.rb 中的约束来执行此操作:

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

此外,如果您有许多安全路线,并且您想干掉事情,您可以scope为您的安全路线创建一个:

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

  ...[secure routes]...

end
于 2013-02-05T04:26:50.017 回答