레일 프로젝트의 권한에 대해 선언적 권한 부여 젬을 사용하고 있으며 사용자 권한에 따라 모델의 출력을 제한하려고합니다.declarative_authorization을 사용하여 모델의 결과 제한
내 백성 모델에서roles do
role :supervisor
has_permission_on :people, :to => :manage_all
end
role :basic_user
has_permission_on :people, :to => :manage_subordinates
end
end
privileges do
privilege :manage_subordinates do
includes :subordinate_records
end
privilege :manage_all do
includes :all_records
end
end
, 나는 지원이처럼 보이는이
def self.supervised_by(user)
if user.permitted_to? :all_records
#return all of the records
elsif user.permitted_to? :subordinate_records
#return some of the records
else
#return none of the records
end
end
같이 할 정적 방법이 있습니다
내 축약 된 인증 파일은 다음과 같다 with_permissions_to 또는 permitted_to를 사용하여 설명서에서 AuthorizationInModel 객체를 사용합니다. 필자는 설명서를 기반으로 이러한 기능을 사용하는 방법이나 현재 모델에 대한 현재 사용자의 권한 목록을 반환하는 방법을 파악하지 못했습니다.
아이디어가 있으십니까?