I am trying to use a cookie that is set by other page in my domain to authenticate the user.
Say I have needpassword.example.com written using cakephp,
and the cookie is generated by auth.example.com (using a Perl CGI program).
To login in to needpassword.example.com, I need to redirect to auth.example.com to set the cookie, and then use CakePHP to parse the cookie.
How do I parse this cookie? And how do I modify the Auth component to do these?
And how can I override the Auth class to instead go to the auth.example.com to authenticate, and not using the User model? By overriding the identify method in Auth.php?
Many thanks.
Since your needs sound outwith AuthComponent’s originally intended design you have two options.
Firstly, if it really doesn’t fit your needs, you could create and maintain your very own AuthComponent. Do this by copying
/cake/libs/controller/components/auth.phpto/app/controller/components/auth.php.This would allow you to rewrite the component completely, but the downside is you will no longer receive updates to AuthComponent when you upgrade cake.
Secondly, you can extend just about anything in CakePHP using the following pattern:
.. and replace all instances of
AuthComponentin your controllers with yourAppAuthComponent.parent::...If you wish to add more method arguments, put them after the API ones, eg:
function identify($user = null, $conditions = null, $custom = array()) { ... }This approach allows you to make application-specific customisation while still using the latest methods defined in the core where necessary.