2010-12-26 3 views
2

delcarative_authorization gem을 사용하여 모든 컨트롤러 작업에 대한 역할 액세스를 허용하는 지름길이 있습니까?레일 선언 권한, 컨트롤러에 대한 모든 작업을 허용 하시겠습니까?

privileges do 
    # default privilege hierarchies to facilitate RESTful Rails apps 
    privilege :manage, :includes => [:create, :read, :update, :delete] 
end 

은 컨트롤러에서 CRUD보다 많은 제어 방법이 있기 때문에 충분하지 않습니다. 같은

뭔가 :

role :foo do 
    has_permission_on :bar, :to =>[:all] 
    end 

는 완벽 할 것입니다,하지만 난 워드 프로세서에서 그것을 찾는 아니에요.

답변

0

쉬운 방법이 존재하지 않는다고 생각합니다. This thread은 "마스터"역할을 확인하고 필터링을 모두 건너 뛸 수있는 한 가지 방법을 설명합니다.

0

나는 이런 식으로 뭔가를 사용 :

privileges do 
    # default privilege hierarchies to facilitate RESTful Rails apps 
    privilege :manage, :includes => [:create, :read, :update, :delete] 
    method_names = Bar.action_methods.to_a 
    meths = method_names - %w{create read update delete} 
    privilege :all_others, :includes => meths.map{|m| m.to_sym} 
end 

role :foo do 
    has_permission_on :bar, :to =>[:manage,:all_others] 
end 

무언가 같이 비록 : 더 나은 귀하의 요구 사항에 맞게 수

privileges do 
    # default privilege hierarchies to facilitate RESTful Rails apps 
    privilege :manage, :includes => [:create, :read, :update, :delete] 
    privilege :all, :includes => Bar.action_methods 
end 

role :foo do 
    has_permission_on :bar, :to =>[:all] 
end