Symfony2 -登录检查密码


Symfony2 - Login check password

我有一个自定义用户提供程序,我在其中从数据库检索密码。该密码基于text+username

Symfony login_check进程中,我希望密码字段等于此password field中的输入文本+ username field中的输入文本,而不仅仅是基于密码字段中的输入文本。

有办法吗?

简而言之,我想强制symfony检查用户提供程序中定义的密码是否等于_password字段+ _username字段

要做到这一点,您还需要正确设置自定义身份验证提供者。你可以查看这里的文档:

http://symfony.com/doc/current/security/custom_authentication_provider.html

基本上是克隆默认的,并将您的更改添加到密码检查器。

你也可以按照自定义用户提供商文档的建议来完成它:

如果您的外部用户通过不同的方法添加了密码,那么您需要做更多的工作,以便Symfony正确地编码密码。这超出了本条目的范围,但将包括子类化MessageDigestPasswordEncoder和覆盖mergePasswordAndSalt方法。

http://symfony.com/doc/current/security/custom_provider.html

似乎可以使用username字段作为某种形式的盐这样可能比编写完整的自定义身份验证更容易完成