Guide to setting up the CakePHP auth component
Introduction
If you’re anything like me by the time you’ve got to this guide you have probably read about a million interesting but very issue specific pages on setting up elements of the Auth Component in CakePHP. For such an integral element of the system I found it surprisingly difficult to really understand all of the elements. Getting it working was one thing, but really understanding the “Automagic” functions behind the scenes, what happened where and what would happen if I changed something took a lot of research.
So this guide attempts to bring together the results of that research. It is a combination of the “must reads” , a list of problems and solutions that I encountered when implementing stuff from them, a FAQ section (rather a Q&A of the things I wanted to know along the way) and a general tips section for things that should make your life a bit easier.
The guide will continue to evolve as I discover more but if you have any suggestions or questions please submit a comment below so it is available to all.
Required reading
These links are required reading if you want to get to grips with the Auth component AND ACL. I can’t stress enough how important it is to have read these and done them line by line before you start looking for answers elsewhere, without these examples the Auth component and ACL will be a little too black box.
- How ACL works (from the CakePHP Book)
- A Simple ACL controlled application (from the CakePHP Book tutorials)
Common problems with CakePHP Auth component and their solutions
CakePHP Auth Component – FAQ
- Cake PHP Auth Component Frequently Asked Questions (FAQ)
- What is the difference between the Auth component and the ACL component in CakePHP?
- User password is "double hashed on edit when using the Cakephp Auth component
Tips and and tools
Debuging ACL in CakePHP
Some handy tricks for seeing what is going on under the hood, this can be surprisingly tricky when things are happening automagically.
Managing ACL in CakePHP
One of the complicating factors in managing your ACL setup is the derth of good management tools available. The data required is fiddly and doesn’t lend itself to hacking around in the database to get things going because in my experience you just make yourself more confused than ever.
Probably the best management tool I found was:
http://bakery.cakephp.org/articles/view/acl-management-plugin
It’s not perfect, but it’s a solid tool that will speed up some of your management functions.
Handy functions that play nicely with the Auth Component
Keep track of modifications to your records automatically, these mods save time but also reveal some interesting concepts behind the Authcomponent. Pay close attention to Comment 5 “Brett H Says” which explains an issue you’re likely to encounter using this if you’ve set up the auth component using the standard configuration.
Other reading
Aran Johnson has done an excellent series of examples and tutorials on the CakePHP auth component here. I found these when I was about half way through writing this guide so there is some duplication of course, but hopefully between the two you will find everything you need.
Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically to your feed reader.

Comments
No comments yet.
Leave a comment