2011-07-27 4 views
7

전체 앱에서 SSL을 사용하도록 설정하는 쉬운 방법이 있습니까?Ruby on Rails : ssl_required : 전체 앱에서 어떻게 활성화합니까?

나는 모든 컨트롤러가 ApplicationController에서 상속한다, 레일 기본적으로

+1

중복 된 http://stackoverflow.com/questions/4961374/set-ssl-allowed-for-all-pages-in-rails? –

+0

@ 제프, 게시물은 매우 오래되었습니다. 그 이후로 코드가 변경되었습니다. – NullVoxPopuli

답변

7

2.3.8을 사용하고 있습니다.

ssl_required은 사실상 ssl_required?이라는 보호 된 방법으로 SSL이 주어진 동작에 필요한지 여부를 결정합니다. 이 구현은 프로덕션 환경에서 항상 SSL을 필요로합니다 (그렇지 않은 경우에는 그렇지 않으므로 계속 개발할 수 있습니다).

class ApplicationController < ActionController::Base 
    # (... other stuff ...) 

    protected 

    def ssl_required? 
    Rails.env.production? 
    end 
end 

사용자 환경에 따라, 또한 (예를 들어, 당신이 아파치를 사용하는 경우, 당신은 포트 80을 통해 응용 프로그램을 제공하지를 구성 할 수 있습니다)에만 HTTPS를 통해 사용할 수 있습니다에 업스트림 서버에 대한 가능할 수있다. 이는 서버 설정에 따라 다릅니다.

+0

아직도 어떤 작업을 사용할지 지정해야합니까? ssl_required가 호출하는 메소드를 다시 정의하더라도? – NullVoxPopuli

+0

ssl_required는 배열에 저장하는 작업 목록을 허용합니다. ssl_required의 기본 구현은 무엇입니까? 현재 작업이 해당 배열에 있는지 단순히 확인합니다. 이것에 의해, 모든 액션에 적용되도록 (듯이) (항상 ssl_required?가 서브 클래스에서 다시 오버라이드 (override)되지 않는 한). –

+0

그래서 ... 어떻게 ssl_required를 호출합니까? 전 세계적으로? – NullVoxPopuli