권한이없는 사용자가 특정 작업에 액세스하지 못하도록 보호하려고합니다. 여기필터 이전에 호출 된 도우미 메서드에서 무엇을 반환해야합니까?
내 컨트롤러에서 작은 예 :
class RestaurantsController < ApplicationController
before_filter :require_admin, :only => [:new, :create, :update, :edit, :destroy]
#...yada yada yada...
end
그리고 내와 ApplicationController에
나는 도우미 메서드를 배치 (나는 많은 컨트롤러에서 그 같은 행동을 보호해야하기 때문에), 그래서 자신을 반복하지 않는다.class ApplicationController < ActionController::Base
protect_from_forgery
private
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
def require_admin
???
end
helper_method :current_user
end
내가하기 위해 내 require_admin 메소드로부터 반환해야하는 것 : current_user
는 관리자가 아닌 경우
- 방지 흐름.
current_user
이 admin이면 규칙적인 흐름을 허용합니다.
require_admin
도 helper_method
으로 지정해야합니까?
나는 is admin?
비트를 처리하는 방법을 알고 있으며, 필자의 필터가 호출하는 도우미 메서드에서 반환 할 내용을 알아야합니다.
제안 사항?