Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 4-仅在prod服务器上,密码保存在argon2i中,而不是bcrypt中_Symfony_Symfony4_Password Encryption - Fatal编程技术网

Symfony 4-仅在prod服务器上,密码保存在argon2i中,而不是bcrypt中

Symfony 4-仅在prod服务器上,密码保存在argon2i中,而不是bcrypt中,symfony,symfony4,password-encryption,Symfony,Symfony4,Password Encryption,在my yaml安全配置文件中: security: encoders: App\Entity\Tenant\User: algorithm: 'bcrypt' 在“我的用户控制器”中,修改用户编辑页面的密码: $user->setPassword($passwordEncoder->encodePassword($user,$plain_password)); 在我的prod和dev环境中的开发服务器上,一切都正常。但是在我的prod

在my yaml安全配置文件中:

security:
    encoders:
        App\Entity\Tenant\User:
          algorithm: 'bcrypt'
在“我的用户控制器”中,修改用户编辑页面的密码:

$user->setPassword($passwordEncoder->encodePassword($user,$plain_password));
在我的prod和dev环境中的开发服务器上,一切都正常。但是在我的prod服务器上,symfony将argon2i中的密码转换为bcrypt。我不知道为什么……所以在我的数据库中,例如,库存哈希密码是“$argon2i$v=19$m=65536,t=4,p=1$aFRHTC5sQTZESXpOOVlFTA$NZvz/a0EkjL00cf9ZbYzuhiT+nMq13Dvr2Xp/lU78Lc”,而不是bcrypt

有人会知道为什么UserPasswordEncoderInterface只在我的prod服务器上强制argon2I,而不是在yaml安全文件中设置的bcrypt

开发服务器:PHP7.3.12

Prod服务器:PHP7.3.19

Symfony 4.4.5

编辑: 在其他一些测试之后,密码在dev环境中的prod服务器上的bcrypt中正确编码。 问题仅出现在产品环境中…

问题已解决

这是一个缓存问题,我的第一个反射是使用命令行“cache:clear--env=prod”,但这并没有解决我的问题。为了确保我手动删除了prod缓存文件夹。 这就解决了问题,密码现在正确地用bcrypt编码