3

我希望人们能够通过 SSL 订阅和登录我的应用程序。我原来的路线,不是 SSL,是这样的:

resource :login, controller: "sessions" do
  collection do
    get 'new'
    get 'create'
  end
end

工作得很好,但未加密。然后我尝试了这个:

scope :protocol => 'https://', :constraints => { :protocol => 'https://' } do
  resource :login, controller: "sessions" do
    collection do
      get 'new'
      get 'create'
    end
  end
end

现在Rails我:

No route matches [GET] "/login"

当我导航到https://myapp.dev/login

请注意我在开发模式下使用 Pow。

4

2 回答 2

1

嗯,我以为只是

  scope :constraints => { :protocol => "https" } do 
  resource :login, controller: "sessions" do
    collection do
      get 'new'
      get 'create'
    end
   end
 end

你可以根据需要在下面放置更多资源条目

于 2013-04-16T19:20:48.903 回答
0

为什么不按原样保留路线并添加到production.rb文件中:

config.force_ssl = true

这样,您将通过 SSL 路由所有流量,而不仅仅是登录控制器,这是保护您的用户会话 cookie 的好习惯。

于 2013-04-23T13:00:17.773 回答