我正在尝试使用symfony2登录。我将我的实体类连接到数据库。在我的表中,我只有用户的电子邮件,即用户名。我应该使用getUsername()方法知道我没有真正的用户名。
当我尝试删除此方法时,我发出致命的错误消息:
Fatal error: Class MDPI\BackendBundle\Entity\Users contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Symfony\Component\Security\Core\User\UserInterface::getUsername) in /home/milos/workspace/mdpi-login2/src/MDPI/BackendBundle/Entity/Users.php on line 768
我应该使用
getUsername()
{
return this->email;
}
或者有更好的方法吗?
谢谢。
答案 0 :(得分:2)
使用本机Symfony SecurityBundle,您只需在app/config/security.yml
中指定用作登录字符串的实体字段:
security:
encoders:
MDPI\BackendBundle\Entity\User: plaintext
providers:
entity:
entity: { class: MDPI\BackendBundle\Entity\User, property: email }
firewalls:
...