Я использую стандартный механизм аутентификации 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';
}
}