2011-11-15 2 views
0

누구나 모범을 알 수 있습니까? 또는 기능의 측면에서 비교 다른 보석?허용 레일 젬의 대안?

+0

좀 더 구체적으로 말하면 모델 기반 사용 권한 시스템을 찾고 있습니다. – Teddy11

답변

1

나는 캉캉 이상 declarative_authorization을 선호하는 것

https://github.com/stffn/declarative_authorization

http://railscasts.com/episodes/188-declarative-authorization

http://steffenbartsch.com/blog/2008/09/delclarative-authorization/


declarative_authorization을 사용하면 모델 및 방법의 역할 기반 인증을 정의 할 수 있습니다.

모델의 권한과 모델의 권한을 정의 할 수 있습니다. 특정 조건이 충족되면 권한을 더 제한 할 수 있습니다. 개체의 특정 특성에 특정 값이있는 경우에만 특정 사용 권한이 적용되도록 지정할 수 있습니다.

일반 사용자가 고용 된 회사의 계정 만 읽고 수정할 수 있음을 지정하는 예입니다 (예 : "ancestry"gem을 사용하여 계정이 트리와 같은 방식으로 정렬되어 있다고 가정)

authorization do 
role :user do 
    # ... 
    has_permission_on :accounts , :to => [:index, :show, :edit, :update] do 
     if_attribute :id => is_in { user.employed_at_account.subtree_ids } 
    end 
    # ... 
    end 

    role :admin do 
    # ... 
    has_permission_on :accounts , :to => [:create, :new, :index, :show , :edit, :update ] 
    # ... 
    end 
end 
+0

나는 선언적 승인을 살펴 봤다. 모델 인스턴스에 사용 권한을 적용 할 수없는 것 같습니다. 틀 렸으면 고쳐줘. – Teddy11

+0

Can Can보다 declarative_authorization을 선호하는 이유가 궁금합니다. 대부분의 Rails 커뮤니티가 CanCan을 최고의 인증 보석으로 채택한 것 같습니다. – Feech

1

는 '모델 기반'로 자격이 있는지 모르겠어요,하지만 당신은 캉캉?

https://github.com/ryanb/cancan

편집 살펴 보았다 :

캉캉이 (비공식적으로) 중단되었으며, 기고가가 Cancancan이라는 새 프로젝트를 만들었습니다. 사용자의 역할이 더 복잡한 경우

https://github.com/bryanrite/cancancan