Remarkable

This morning I tried unsuccessfully to get CakePHP's built-in 'Access Control List' feature working. I get the impression that ACL is bleeding edge stuff, and that the current documentaion is not accurate (or it may be that the functionality just doesn't quite work right out of the box.) That's OK. CakePHP is still quite young, and for my current purposes ACL looked like overkill anyway.

So this afternoon I set about implementing my own lightweight user authentication system, incorporating 'Users' and 'Roles' tables in the database, with corresponding CakePHP controllers and associations. Scaffolding provided instant create/edit/list/delete functionality for users and roles, including the ability to assign roles to users and vice versa. Total set-up time: maybe 30 minutes for everything.

The bigger hurdle was implementing an authentication controller for handling the login form, logging in, and logging out. This took a bit longer, but at every turn I discovered that the typical minutiae (Setting a message to be displayed on the following screen, managing session variables, et cetera) had already been taken care of for me in the base Controller class, leaving me to spend most of my time worrying about logic instead of implementation. This is good stuff.

The next step will be to write a controller 'Component' for managing user access to controller functions.

Tagged:

Also

1 comment

 
Daniel Hofstetter wrote 8 years 24 weeks ago

Yeah, the dbAcl stuff is

Yeah, the dbAcl stuff is broken. I hope it will be fixed soon.

Please register or login to post a comment.
Syndicate content

Twitter

  • @captain_science so glad you lliked them, especially the bow tie- it was a bit of a crap shoot! 3 years 30 weeks ago
  • Not sure we had enough pie http://flic.kr/p/8WnSf2 3 years 31 weeks ago
  • What part of "don't discuss politics in the lodge" is so &@$!?ing hard to understand? 3 years 33 weeks ago
  • photo.jpg http://flic.kr/p/8Hy5pe 3 years 38 weeks ago
  • It's about time http://flic.kr/p/8GcTJo 3 years 39 weeks ago

Older

Contact

Andy Chase
(978) 297-6402
andychase [at] gmail.com
GPG/PGP Public Key