I do not like reinventing the wheel so really just want to build on existing tutorials and provide some background information and experience. Firstly make sure you understand the difference between ACO and ARO. To put it in very simple terms an ACO is something that is protected by ACL and an ARO is something that uses ACL to access the ACO. It might help to think of ARO as users (groups) and ACO as controller actions. You will be marking your user and group models as requester objects and setting ACO on controller actions across the board. The Cake manual really is good in explaining the concept of ARO, ACO, ACL. Please make sure you read it and understand it before continuing. Unless you understand what ARO, ACO, and ACL mean at this point the rest of this post will make no sense. Please RTFM before continuing. Okay, now read through the Cake page that introduces the ACL shell ( here ). Ignore the sections "Create and delete nodes" and "Grant and...