0
declarative_authorization 보석을 사용하여 프로젝트 관리자 및 프로젝트 공동 작업자 역할을 만들려고합니다.레일 declarative_authorization project_admin role
사용자에게 프로젝트 매핑을 저장하는 '공동 작업자'라는 테이블이 있습니다.
모델 :
프로젝트
has_many :collaborators
has_many :users, :through => :collaborators
사용자
has_many :collaborators
has_many :projects, :through => :collaborators
공동 작업자 나는 project_admin 및 project_c의 DSL 정의에 몇 가지 지침이 필요
belongs_to :user
belongs_to :project
ollaborator 역할. 나는 다음과 같이 올라와있다 :
authorization do
role :guest do
has_permission_on :users, :to => [:read]
end
role :project_admin do
has_permission_on :projects, :to => :manage do
if_attribute :project_admin => true
end
end
role :admin do
has_permission_on :users, :to => [:delete]
end
end
privileges do
privilege :manage do
includes :create, :read, :update, :delete
end
end
어떤 제안을 감사합니다/도움이됩니다.
감사합니다.