/**
  * Check if user is active and password matches
  *
  * @param EntityManager $em
  * @param User $user
  * @return User User class filled if success, new User otherwise.
  */
 public function authenticate(EntityManager $em, User $user)
 {
     $criteria = array('email' => $user->getEmail(), 'active' => 1);
     $userDB = $em->getRepository('models\\Entities\\User')->findOneBy($criteria);
     return $userDB instanceof User && $userDB->getPassword() === $user->getPassword() ? $userDB : new User();
 }