2011-01-21 24 views
17

Tôi muốn yêu cầu xác thực ssl cho tài nguyên người dùng khi phát sinh. Tôi đã mong rằng để thể đơn giản như nó là trong đường ray, như:thiết lập ssl khi đặt ra

devise_for :users, :constraints => { :protocol => "https" } 

Ngoài ra, tôi không thể tìm thấy bất kỳ tài liệu trên github devise, mặc dù tôi đã tìm thấy một số liên kết trỏ đến chết nó ở google các nhóm.

Có ai có gợi ý về cách làm cho nó hoạt động dễ dàng không? Tôi nghĩ tôi sẽ đơn giản, vì mức độ phổ biến của plugin

Trả lời

15

: hạn chế sẽ không làm việc là tùy chọn, nhưng điều này có lẽ sẽ:

constraints :protocol => "https" do 
    devise_for :users 
end 
+0

Tôi đã thay đổi ý định sử dụng và nó không hoạt động. Tôi nhận được 'Không có tuyến đường phù hợp [DELETE]"/người dùng/sign_out "' – jcollum

+2

Tôi đã có một vấn đề với đăng xuất quá, vì vậy đây là một câu trả lời có thể giúp đỡ người khác. Về cơ bản, vấn đề là "DELETE"/đăng xuất "(với http) đã được chuyển hướng đến' GET "/ đăng xuất" (https) '. Vì vậy, tôi đã thay thế 'sign_out_path' bằng' sign_out_url (protocol: "https") ', và bây giờ nó hoạt động tốt. Tôi thực sự overrode sign_out_url để luôn đặt giao thức. – Robin

7

Integrate SSL Requirement vào ứng dụng và sử dụng lập mưu của mình. Câu trả lời không hiệu quả nhưng điều này đã làm cho tôi, đặc biệt là vì tôi đã sử dụng SSL Requirement rồi.

+0

Bạn đã đúng, tôi đã không kiểm tra câu trả lời đúng cách sau đó và không cập nhật tại đây. Bạn có nhận được sự chuyển hướng giữa các tuyến đường ssl và các tuyến đường thường xuyên để hoạt động không? – Thiago

+0

Tôi đã làm việc trước đây của tôi, nhưng bây giờ bạn đang làm tôi sợ ... Tôi thực sự chỉ cần thực hiện nó nhưng bắt đầu viết mã ở một nơi khác. Tôi có thể kiểm tra. gulp ... – pjammer

+0

Bài viết được liên kết để làm việc cho ứng dụng Rails 3 của tôi bằng cách sử dụng: config.to_prepare {Devise :: SessionsController.ssl_required: new,: create} trong tệp application.rb của tôi. – DownChapel

Các vấn đề liên quan