내 관리 사용자가 계정의 표준 사용자가 수행 할 수있는 거의 모든 작업을 제어 할 수있게하고 싶습니다. 관리를위한 그룹 권한을 만들 때 100 개가 넘는 행을 가진 거대한 테이블을 갖는 것이 더 좋습니까? 아니면 데이터베이스의 텍스트 필드에 저장된 해시에 모든 권한을 저장하는 것이 더 좋습니까? 그들이 할 수없는 일만 저장할 것인가? 또는 그들이 할 수있는 일은 무엇입니까? (가장 작은 목록 중 가장 작은 것)내 레일 앱에서 그룹 권한을 구현하고 싶습니다. 가장 효율적인 방법은 무엇입니까?
웹 응용 프로그램에서이 작업을 수행하는 표준 방법이 있습니까? 내가 저장했던 것과의
몇 가지 예 :
can_delete_object?
can_edit_object?
can_create_object?
can_delete_minions_object?
can_delete_managers_object?
나는 정말 can_을 좋아합니까? can-can 사용할 수있는 구문. Can-can은 일을하기위한 함수를 정의하는 것 이외의 것이라면 위대 할 것입니다. 난 아직도 이러한 모든 불리언을 저장 이외에 일을 끝낼 수도 있습니다 .. 그룹 수준의 권한을 무시하는 계정 수준의 권한이 있기 때문에.
저는 cancan을 보았습니다. 그리고 그것은 DB 기반이 아닙니다. 그것은 모든 메소드에 있습니다 ... 그리고 결국에는 많은 메소드를 사용할 필요가 있습니다. 그래서 이것을 볼 수도 있습니다 ...하지만 당신의 메소드에서 많은 메소드를 정의하는 것과 똑같은 것으로 보입니다. lib 폴더에 있습니다. 몇 가지 예를 추가하겠습니다. – NullVoxPopuli