3
如果我使用salt來解密我的密碼,登錄總是返回「Bad credentials」。使用salt登錄的Symfony 2總是返回Bad憑證
我'用夾具製造一些TESTDATA:
public function load(ObjectManager $manager)
{
$encodeFactory = $this->container->get('security.encoder_factory');
$user = new User();
$user->setUsername('admin');
$user->setEmail('[email protected]');
$encoder = $encodeFactory->getEncoder($user);
$user->setPassword($encoder->encodePassword('admin', $user->getSalt()));
$user->setIsEnabled(true);
$manager->persist($user);
$manager->flush();
$this->addReference('user-admin', $user);
}
我成立security.yml編碼:使用
security:
encoders:
Aranox\UserBundle\Entity\User:
algorithm: sha512
創造了我的用戶實體鹽:
...
/**
* @ORM\Column(type="string", length=255)
*/
private $password;
/**
* @ORM\Column(type="string", length=255)
*/
private $salt;
...
function __construct()
{
$this->groups = new ArrayCollection();
$this->salt = md5(uniqid(null, true));
...
如果不創建鹽($ this-> salt =「」),所有工作都正常。
這是怎麼發生的?
謝謝,但它已經是255. – Zack
謝謝蘇雷什,你救了我的一天... – Gianluca78