/**
  * meto que busca uma instancia de \Security\Entity\Usuario atraves de um login e senha
  * @param \Security\Entity\Usuario $usuario
  * @param $login
  * @param $senha
  * @return bool|\Security\Entity\Usuario
  */
 public function findByLoginAndSenha(\Security\Entity\Usuario $usuario, $login, $senha)
 {
     /**
      * @var $userLogin \Security\Entity\Usuario
      */
     $userLogin = $this->createQueryBuilder('u')->where('u.login = :a1')->setParameter('a1', $login)->getQuery()->getOneOrNullResult();
     if (!empty($userLogin)) {
         $usuario->setSalt($userLogin->getSalt());
         if ($usuario->encryptPassword($senha) == $userLogin->getSenha()) {
             return $userLogin;
         }
     }
     return false;
 }
 /**
  * {@inheritDoc}
  */
 public function encryptPassword($senha)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'encryptPassword', array($senha));
     return parent::encryptPassword($senha);
 }
 /**
  *
  * @param \Security\Entity\Usuario $obUsuario
  * @param $senha
  * @return bool
  */
 public function checaSenhaAtualUsuario(\Security\Entity\Usuario $obUsuario, $senha)
 {
     $senhaUser = $obUsuario->encryptPassword($senha);
     return $senhaUser == $obUsuario->getSenha();
 }