To pytanie o Symfony 2.1Jak korzystać z fabryki koderów w Symfony 2 wewnątrz setera modelowania?
Jak mogę zakodować hasło użytkownika z:
$factory = $this->get('security.encoder_factory');
$user = new Acme\UserBundle\Entity\User();
$encoder = $factory->getEncoder($user);
$password = $encoder->encodePassword('ryanpass', $user->getSalt());
$user->setPassword($password);
i podstawa config:
# app/config/security.yml
security:
# ...
encoders:
Acme\UserBundle\Entity\User: sha512
Wewnątrz modeli setter:
class User implements UserInterface, \Serializable
{
public function setPassword($password)
{
$this->password = $password;
}
}
I wierzysz, że proces szyfrowania hasła musi zajmować się mo del. Jak mogę korzystać ze standardowej fabryki koderów wewnątrz modelu?
Tak, podmioty mogą również przetwarzać dane. Na przykład możesz dodać ROLĘ do użytkownika, który nie ma żadnej metody gettera, jak wyjaśniono tutaj: https://knpuniversity.com/screencast/symfony-security/dynamic-roles Nie wstawiłbym wszystkiego do encji, ale ustawiasz hasło i taka jest funkcja, więc moim zdaniem ma to sens. –