2013-02-05 53 views
4

我有一個ssl證書,它服務於https://secure.mydomain.com。我想只在某些控制器上使用ssl,而不是在整個應用程序中使用。我在網上查找,似乎無法找到關於如何爲指定控制器啓用ssl的完整且準確的教程。Rails只在指定的控制器上強制ssl

我知道我可以使用下面的配置SSL,但因爲它使SSL網站廣泛

config.force_ssl = true 

我怎麼能告訴軌只有特定的控制器上使用SSL,而它不會成爲我的目的那我的整個應用程序?此外

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

,如果你有很多安全的路線,你要乾的事情,你可以爲你的安全路由的scope

回答

8

你可以用約束routes.rb中做到這一點

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

    ...[secure routes]... 

end 
+0

那麼secure.mydoman.com的安全部分會包含在內嗎? – coletrain

+0

@coletrain我已經更新了包含子域約束的​​答案 –

+0

我必須啓用force.ssl才能使其工作嗎? – coletrain