Lorna Mitchell has a post to her site with some helpful instructions for the CakePHP3 users out there around access control. The framework comes with no built-in functionality for authentication so she shows how to set up your own.
The newest version of CakePHP doesn't ship with built in ACL, which means you need to write your own. Personally I think this is a smart move, having looked at the one-size-fits-all solutions for previous versions of the framework and knowing that every system has different requirements, this version has good hooks and documentation on how to add something that works for your application. I thought I'd share what worked for mine.
She starts with some of the initial setup: creating the relationship between the users and her custom roles
table and "baking" the controllers and templates. She then goes through the use of the authorize
method and how it can handle the user/request combination to determine access. She includes the code for her auth class, showing both the authorize
method and a simplified userHasRole
method. She walks you through the code and one downfall the setup has: not being able to validate access in views and templates.