用户名或电子邮件登录验证

时间:2014-08-26 07:35:17

标签: php symfony authentication

我编写了自己非常简单的身份验证包,它完全基于symfony的安全模块。因此,在security.yml文件中,我有一个提供者,其中包含实体和用户名字段。我可以使用用户名进行身份验证,但我希望能够使用电子邮件登录...我该怎么做?

我一直在考虑创建两个提供程序 - 每个提供程序具有相同的实体,但具有不同的身份验证数据库字段。

目前的情况如下:

providers:
    acme_users:
        entity:
            class: Acme\AdminBundle\Entity\Users
            property: login
            manager_name:       ~

2 个答案:

答案 0 :(得分:1)

简单...阅读Symfony2文档:

How to Create a custom User Provider

How to Load Security Users from the Database (the Entity Provider)

PS:链接是指当前的Symfony2版本(2.5)

答案 1 :(得分:0)

几个月前我做过这个。基本上我用自己的查询创建了一个自定义用户提供程序。你可以在这里读更多关于它的内容: http://inchoo.net/tools-frameworks/symfony2-login-username-e-mail/