Go to content Go to navigation Go to search

People

Businesses

RememberMe component 4 December 2006

Okay, as promised, here is my RememberMe component.

class RememberMeComponent extends Object
{
	var $components = array('Session', 'Cookie');
	var $uses = array('User');

	function startup(&$controller)
	{
		//use this later, perhaps.
	}

	function remember()
	{
		if(!$this->Session->check('User') && $this->Cookie->check('login'))
		{
			loadModel('User');
			$user =& new User();
			$cookie_arr = $this->Cookie->read('login');
			$someone = $user->findByEmail($cookie_arr[0]);
			if($someone['User']['password'] == $cookie_arr[1])
			{
				$this->Session->write('User', $someone['User']);
			}
		}
	}
}

You need to have Rossoft’s Cookie Component installed. His cookie component also uses crypt vendor libraries as well, so there’s lots of things needed to get this running.

Drop my code in /app/controllers/components/remember_me.php. You don’t need to reference Rossoft’s Cookie Component in the controller, just do var $components = array('RememberMe');.

Then put $this->RememberMe->remember() in the beforeFilter of each controller, any page that a user with a cookie enter into should now be logged in automatically.

Sphere: Related Content

Comments

  1. hey walker im writing you this on my psp and im keeping jon from getting work done which is costing you money HA HA HA okay im done now

    chuck    Dec 8, 03:54 AM    #
     

Leave a Comment