before_filter를 사용하여 컨트롤러 인증을 허용 목록에 추가하는 방법이 있는지 궁금합니다. 응용 프로그램의 컨트롤러처럼 뭔가 :특정 컨트롤러를 제거하여 before_filter로 화이트리스트를 작성하는 방법
before_filter :authenticate_user!, :except_controller => :home
좀 지저분 모든 컨트롤러에 before_filter을 넣어하지 않고도 것을 할 수있는 방법이 있나요?
before_filter를 사용하여 컨트롤러 인증을 허용 목록에 추가하는 방법이 있는지 궁금합니다. 응용 프로그램의 컨트롤러처럼 뭔가 :특정 컨트롤러를 제거하여 before_filter로 화이트리스트를 작성하는 방법
before_filter :authenticate_user!, :except_controller => :home
좀 지저분 모든 컨트롤러에 before_filter을 넣어하지 않고도 것을 할 수있는 방법이 있나요?
홈 컨트롤러의 모든 작업에 대한 인증을 건너 뛰려면 홈 컨트롤러에 추가하십시오.
skip_before_filter authenticate_user!
before_filter를 application_controller에 넣습니다. 다른 모든 컨트롤러는이 것을 확장해야합니다 (정상적인 레일 셋업이라고 가정 함). 따라서 동작을 상속받습니다.
skip_before_filter :authenticate_user!, :only => [:new, :create]
: 유일한 옵션은, 음, 옵션
그런 다음, 당신이 필터 전에 생략 할 모든 컨트롤러에 다음을 넣어. 필터를 사용하기 전에 어떤 메소드를 건너 뛸 지 지정하십시오. : 만 가지고 있지 않으면 전체 컨트롤러가 before_filter를 건너 뜁니다.
나는 내 질문에 명시된 것처럼 모든 컨트롤러에 코드를 넣고 싶지는 않습니다. 또한 블랙리스트 접근 방식이 맘에 들지 않습니다. 그래서 화이트리스트에 대해 묻습니다. – Spyros
모든 컨트롤러의 before_filter는 필요하지 않습니다. 다른 컨트롤러의 기본 컨트롤러 인 application_controller 만 필요합니다. 그러나 skip_before_filter는 건너 뛰기를 원하는 컨트롤러로 이동해야합니다. 또한 제안 된 접근 방식은 블랙리스트에 포함됩니까? – brettish
나는 네가 합리적이라고 생각한다. – Spyros
브리 티 쉬 (brettish)도 같은 대답을 했으므로 나는 대답을했기 때문에 이것을 골랐다. 모두들 덕분에! – Spyros