내 사이트에는 30 개의 기능에 대한 링크가있는 관리자 섹션이 있습니다. 우리는 각 고객 서비스 담당자에게 매우 세분화 된 개별 레벨 (즉, 조는 페이지 A와 B는 액세스 할 수 있지만 C는 액세스 할 수 없으며 Mary는 A와 C에 대한 액세스 권한이 부여됨)에서 이러한 페이지에 액세스 할 수 있도록하려고합니다. , B가 아니라).Pundit 또는 CanCan gem이 사용자 별, 컨트롤러 별 권한을 허용합니까?
Pundit 또는 CanCan이 이와 같이 작동합니까? 아니면 각 관리 기능에 대한 부울 열이있는 사용자와 관련된 사용 권한 모델을 만드는 것이 더 좋습니까? 내가 그것을 빨리 볼 수있는 것을 피하기를 바랬습니다.
학자는 사용자 ID와 사용자의 모든 다른 속성을 포함하는'current_user' 개체에 대한 액세스를 제공합니다. 사용자별로 사용 권한을 정의하는 데 사용할 수없는 이유가 없습니다. – moveson
@moveson 어디에서 사용자 별 권한 정보를 저장하나요? User 모델에 ~ 30 개의 추가 열을 추가하고'current_user.page_a_access? '와 같은 것을 실행하십시오. –
하나의 정수 열을 User 모델에 추가하고 [bitwise] 저장할 수 있습니다 (http://blog.millermedeiros.com/using-integers -to-store-multiple-boolean-values /)를 지정합니다. [SO] (http://stackoverflow.com/questions/9643491/store-multiple-bit-values-in-a-single- table- column)에 대한 예가 있습니다. – moveson