Jednou z najdôležitejších a zároveň jednou z najproblematickejších častí CakePHP je Access Control List. Tento miniseriál má za cieľ priniesť viac svetla do problematiky ACL.
Access Control List (ďalej len ACL) predstavuje spôsob, akým môžeme riadiť oprávnenia v rámci našej aplikácie jednoduchým a udržovateľným spôsobom. Nato, aby sme mohli požadovaného chovania dosiahnuť, potrebujeme dva hlavné prvky: prvým prvkom je objekt, ktorý žiada niečo, a druhým prvkom je objekt, ktorý je žiadaný. CakePHP používa pre tieto dva hlavné prvky názvy ARO (Access Control Object) a ACO (Access Request Object). ARO potom reprezentuje objekt, ktorý niečo žiada (väčšinou sa jedná o normálneho užívateľa aplikácie) a ACO predstavuje objekt, ktorý je žiadaný (napr. akcia controllera alebo webová služba). Vyššie napísané môžeme teda zhrnúť do vety: ACL je mechanizmus, ktorý rozhoduje o prístupe ARO k ACO, resp. rozhoduje o prístupe užívateľov alebo častí systému k dátam alebo iným častiam systému. Zároveň si však treba uvedomiť, že v prípae ACL sa nejedná o autentifikáciu, jedná sa o proces autorizácie, ktorý sa uskutočňuje až po vykonaní autentifikácie.






