2012-07-09 2 views
1

시스템에서 액세스 제어 목록을 설계 중입니다. 위의 나무 '모든 사용자' '관리자'권한을 회원 그룹 인에서인접 목록과 액세스 제어 목록 설계를위한 mptt

All users 
    administrators 
      john 
    privilege members 
      Peter 
      mike 

아래와 같이한다는 점에서 그룹 및 계정의 나무가 될 것입니다. 위의 정보를 저장할 트리를 만들고 싶습니다. 인접 목록에서 순회 읽기 연산은 비용이 많이 들고 Mptt 순회 쓰기 연산은 비용이 많이 든다. ACL의 경우 무엇이 더 중요해야 하는가? 읽기 또는 쓰기. 나는 자주 읽는다고 생각하지만 현명한 사람들의 의견을 듣고 싶습니다. cake php acl에서 그들은 mptt를 사용했습니다.

답변

1

실제 상황에서는 "쓰기"작업보다 "읽기"작업이 훨씬 더 많이 사용됩니다. 그러므로 가장 좋은 방법은 변경된 preorder tree traversal (MPTT) 솔루션을 사용하는 것입니다.이 솔루션은 일단 이해하면 매우 우아합니다. 여기에 매우 잘 문서화되어 있으며 쉽게 얻을 수있는 a PHP class providing an implementation of the modified preorder tree traversal algorithm입니다. 또한 페이지에서 알고리즘에 대한 자세한 정보를 볼 수있는 링크를 찾을 수 있습니다.