Вход в symfony2 по имени пользователя или электронной почте

Я использую стандартный механизм аутентификации Symfony2 и хочу l и пользователь использует свое имя пользователя или адрес электронной почты для входа в систему, но я не могу понять, почему это не работает. Я протестировал класс репозитория, и он работает, как ожидалось. Я следовал этому практическому руководству .

Вот мой класс провайдера пользователя:

createQueryBuilder('u') ;
        return 
        $qb->select('u')
        ->where(
            $qb->expr()->orx(
                $qb->expr()->like('u.username' ,':username') ,
                $qb->expr()->like('u.email' ,':username')
            )
        )
        //->andWhere($qb->expr()->eq('u.enabled' ,'true') )
        ->setParameters(array('username' =>$username ) )        
        ->getQuery()
        ->getResult() ;                  
    }

    function refreshUser(UserInterface $user)
    {
        return $this->loadUserByUsername($user->getUsername() );
    }

    function supportsClass($class)
    {
        return $class === 'My\UserBundle\Entity\User';
    }

}

5
задан Dennis 15 December 2011 в 13:59
поделиться