FOSUserBundle login z e-mailem (Symfony2)
Mam pytanie dotyczące FOSUserBundle dla Symfony 2.0.x. W dokumentacji można znaleźć sposób na zmianę loginu, aby działał z nazwą użytkownika i adresem e-mail. To działa świetnie! Ale chcę się zalogować, aby pracować tylko z e-mailem. Dodałem więc funkcję w moim CustomUserManager (rozciąga się od oryginału), która zapewnia, że możesz po prostu zalogować się za pomocą swojego e-maila.
<code>namespace Frontend\UserBundle\Model; use FOS\UserBundle\Entity\UserManager; use Symfony\Component\Security\Core\Exception\UsernameNotFoundException; class CustomUserManager extends UserManager { public function loadUserByUsername($email) { /*$user = $this->findUserByUsernameOrEmail($username); if (!$user) { throw new UsernameNotFoundException(sprintf('No user with name "%s" was found.', $username)); } return $user;*/ //Change it to only email (Default calls loadUserByUsername -> we send it to our own loadUserByEmail) return $this->loadUserByEmail($email); } public function loadUserByEmail($email) { $user = $this->findUserByEmail($email); if (!$user) { throw new UsernameNotFoundException(sprintf('No user with email "%s" was found.', $email)); } return $user; } } </code>
Ale teraz mam problem, który muszę kontrolować wartości zapisane w sesji. Zapisuje moją nazwę użytkownika w sesji, a gdy system to sprawdzi, nie będzie wiadomości e-mail (ponieważ sprawdza tylko e-mail).
Moje pytanie brzmi: jak / gdzie można zmienić wartość przechowywaną w zmiennej username.
Dzięki!