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;
 }