1

선언적 승인에 약간의 문제가 있습니다. 나는 has_and_belongs_to_many 연관을 가진 User and Role Model을 가지고있다.선언적 승인 및 has_and_belongs_to_many

내가 명명 된 역할 만든 : 내 authorization_rules.rb에서 사회자를

그것은 역할 중재자가있는 사용자는 할당 된 중재자 역할을 가진 사용자를 가져 가능한가요 ?? -> User.with_permissions_to (: 인덱스)

는 나는 그렇게 할 수있을 것이다라고 생각 : 나는 그것이 도움이 될 생각했기 때문에 나는 또한 내 사용자 모델에 named_scope을 만들어

role :moderator do 
    has_permission_on :users, :to => :index do 
    if_attribute :roles => contains { ????? } 
    end 
end 

...

class User 
    has_and_belongs_to_many :roles 
    named_scope :by_role, lambda { |role| 
    { 
     :include => :roles, 
     :conditions => {"roles.name" => role} 
    } 
    } 
end 

declarative_authorization으로이 작업을 수행 할 수 있는지 알 수 있습니까?

도움 주셔서 감사합니다.

답변

0

나는 내 프로젝트 중 하나에서 비슷한 것을했지만 dec_auth가 실제로 혼란 스러웠다.

authorization_rules.rb :

role :moderator do 
    has_permission_on :users, :to => :index 
end 

사용자 모델 :

class User < ActiveRecord::Base 
    using_access_control 
end 

컨트롤러 :

@users = User.with_permissions_to(:index) 

가 그 아무튼 알려줘 나는 이것이 당신이해야 할 일을 생각 일하지 마라.

+0

답장을 보내 주셔서 감사합니다. 우선 사용자 모델에 "using_access_control"을 추가하는 것을 잊어 버렸습니다 ... 또한 내 UsersController에서 관리자 네임 스페이스를 사용한다는 사실을 잊어 버렸습니다 ... 사용자 인 authorization_rules에 새 권한을 추가해야했습니다. ... 지금은 작동하지만 모델에서 네임 스페이스를 사용할 수 있습니까? ... ...이 언어에 대해 좀 더 배워야한다고 생각합니다 ^^ –

+0

아직 네임 스페이스를 사용하지 않았지만 이것 좀보세요 : http://stackoverflow.com/questions/3079035/declarative-authorization-and-namespaces – mikewilliamson