Symfony4: получить PasswordEncoder - PullRequest
       12

Symfony4: получить PasswordEncoder

0 голосов
/ 27 сентября 2018

Я назначил кодировщик пароля для моего класса User Entity в security.yaml.Но я не понимаю, как получить этот кодировщик, когда он мне нужен в методе setPassword класса User, в моем регистре методов (UserPasswordEncoderInterface $ encoder, $ passwordInChiaro).Откуда взялся $ passwordEncoder?Я пытался $ this-> get ('security.password_encoder'), но он не работает.

Security.yaml

security:
encoders:
    App\Entity\User:
        #algorithm: bcrypt

User.php

public function setPassword(string $password): self
{
    $codificata=$this->register($passwordEncoder, $password);
    $this->password = $codificata;
}

public function register(UserPasswordEncoderInterface $encoder, $passwordInChiaro)
{
    $utente = new App\Entity\User();
    $encoded = $encoder->encodePassword($utente, $passwordInChiaro);
    return $encoded;//ritorno la password codificata

}
...