2013-05-30 137 views
0

我试图建立一个自定义的验证方法的线沿线的:Symfony2的自定义身份验证方法

用户表:ID,用户名,电子邮件,HASH2,salt1 密码表:HASH1,salt2

然后认证的方法是:

  • 检索salt1和HASH2从用户表
  • 从密码表中检索salt2(选择salt2其中HASH1 =散列(salt1 +密码) )
  • 验证与salt2散列密码匹配HASH2

但是,我想不出如何实现这样的多步骤验证方法。我发现的所有例子只显示了基本方法的工作方式。

回答

0

您是否真的需要创建自己的身份验证方法?目前你正在尝试自己做密码学,这很糟糕,因为密码学很难。

您可以使用默认的认证机制与您自己的用户提供商吗?见文档http://symfony.com/doc/current/cookbook/security/custom_provider.html

+0

也许我不明白Symfony2是如何工作的。有没有办法使用默认身份验证来完成上述操作?我想要做到这一点的原因是,如果有人要把他们的手放在数据库上,那么破解密码很困难。唯一的问题是,我看不到我可以如何使用getPassword和getSalt方法,因为这是一个多步骤的方法。 – Erekel

+0

不要担心默认的Symfony2身份验证机制是安全的,并且密码正确散列。 – julesbou

+0

我决定去实现这一点,因为实施我自己并不符合成本效益。 – Erekel