2013-05-30 4 views
2

Rails 3 웹 응용 프로그램에 권한을 설정하는 데 문제가 있습니다. 현재 Devise와 CanCan을 사용하고 있습니다. Devise에서 사용하는 단일 사용자 모델이 있습니다. 역할은 관리자, 관리자 및 사용자입니다.네임 스페이스 웹 응용 프로그램에서 CanCan 사용 권한을 관리하는 방법은 무엇입니까?

내 솔루션은 네임 스페이스를 사용하여 관리 패널을 구분합니다.

Root (frontend) 
- static pages 
Manager 
- administration pages for "manager" roled users. 
Backend 
- administration pages for "admin" roled users. 

필자는 설명서와 튜토리얼을 읽었지만 제대로 작동 할 수 있습니다. 내 문제는 CanCan이 사용자가 모델에서 실행하려고하는 작업으로 기능을 검사한다는 것입니다.

사용자가 관리자로 로그인하여 자신의 게시물을 관리해야하는 경우 사용자는/manager/posts로 이동하여 관리 할 수 ​​있습니다. 그러나 문제는 그가/backend/posts 디렉터리로 이동할 수 있으며 소유자가 아닌 게시물을 인덱싱 할 수 있다는 것입니다.

이 문제는 능력 클래스가 관리자가 게시물 모델을 색인 할 수 있지만 관리자와 관리자는 모두 게시 모델에서 작업하고 있기 때문에 발생합니다.

사용자가 액세스 할 수있는 네임 스페이스를 지정하는 방법이 있습니까?

나는 ... (다른 테이블을 사용하여 백엔드 :: 게시물 관리자 :: 게시물) 네임 스페이스 모델을 사용하여 같은 많은 방법이 본

역할은 이름 공간에서 응용 프로그램에 대한 사용 권한을 관리 할 수있는 가장 좋은 방법은 무엇입니까

Devise와 CanCan을 사용하여 동일한 모델을 작업하고 있습니까? 이 용액으로 해결

+0

중복 (http://stackoverflow.com/questions/12334367/authorizing-namespaced-and-nested-controllers-using - 깐깐한). 이 질문에 대한 정답은 12334367뿐입니다. –

답변