2013-02-05 3 views
4

У меня есть сертификат ssl, который обслуживает https://secure.mydomain.com. Я хотел бы использовать ssl только на некоторых контроллерах, а не на всем моем приложении. Я посмотрел онлайн и, похоже, не нашел полного и точного руководства о том, как включить ssl для указанных контроллеров.Rails force ssl только на указанных контроллерах

Я знаю, что я могу использовать конфигурации SSL ниже, но это не служит мне цели, так как она позволяет Ssl сайт широкий

config.force_ssl = true 

Как я могу сказать рельсы использовать только SSL на конкретном контроллере, а то все мое приложение?

ответ

8

Вы можете сделать это с ограничениями в routes.rb:

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

Кроме того, если у вас есть много безопасных маршрутов, и вы хотите СУХОЙ вещи, вы можете создать scope для ваших безопасных маршрутов:

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

    ...[secure routes]... 

end 
+0

как насчет безопасной части secure.mydoman.com будет также включен? – coletrain

+0

@coletrain Я обновил ответ, чтобы включить ограничение для поддомена –

+0

Мне нужно включить force.ssl для этого? – coletrain

Смежные вопросы