2011-03-05 1 views
0

컨트롤러 시작시 컨트롤러의 모든 작업에 대해 로그인해야하는 filter_resource_access이 있습니다.어쨌든 상위 컨트롤러가 Rails 3에있는 것보다 컨트롤러의 액션에 다른 필터를 적용 할 수 있습니까?

그러나 한 가지 조치에 대해 다른 인증 메커니즘을 원합니다.

어쨌든 상위 필터가 필요로하는 로그인을 요구하지 않고 해당 작업에 대해 다른 필터 (예 : before_filter)가 있어야합니까?

답변

2

filter_resource_access의 경우 사용자 정의 before_filters 및 filter_access_to 필터를 변경해야하는 것처럼 보입니다. See here 'filter_resource_access'를 검색하십시오.

필터를 적용 할 컨트롤러 동작을 지정할 수 있습니다. 당신과 같이 작업을 제외하거나 포함 할 수 있습니다 : 연관된 레일 문서에 대한

before_filter :filter_action, :except => [:index, :edit] 
before_filter :filter_action2, :only => [:index, :edit] 

Click here. '필터 체인 건너 뛰기'및 '필터 조건'섹션을 확인하십시오.

+0

declarative_authorization을 사용하고 있기 때문에이 작업을 수행합니까? 나는 before_filter를 실행하는 레일스 방법 이외에 이것을 수행하는 decl_auth 방법이 있는지 묻는다. – marcamillion

+0

방금 ​​내 대답을 업데이트했습니다. filter_access_to 선언을 위해 filter_resource_access를 교체해야하는 커스텀이 필요하다. – patrickmcgraw

+0

아 .... 감사합니다. – marcamillion

관련 문제