public function isPasswordValid(sfAuthUser $user, $password) { if ($user->getPassword() === sfAuthUtil::getHashedPasswordBySaltAndString($user->getSalt(), $password)) { return true; } //if we havent returned yet use the event dispatcher to notify until an event returns true $event = $this->dispatcher->notifyUntil(new sfEvent($this, 'sf_auth.is_password_valid')); if ($event->isProcessed()) { return $event->getReturnValue(); } return false; }