Symfony4:获取PasswordEncoder

时间:2018-09-27 10:53:01

标签: doctrine symfony4

我已经在security.yaml中为我的用户实体类分配了密码编码器。但是我不明白如何在用户类的setPassword方法中的方法寄存器(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

}

0 个答案:

没有答案